The only Destiny Knot available in HeartGold/SoulSilver is found on the ground on Route 27.
Unfortunately, the Destiny Knot is found too late in the game to be of any use against Gym Leader Whitney’s nightmare Miltank (unless you trade it across!), because you’ll need all eight Gym Badges before you can access Route 27.
If your Pokémon is holding a Destiny Knot and becomes infatuated from the move Attract or the ability Cute Charm, the opponent’s Pokémon will become infatuated too.
Destiny Knot Location (Step-by-Step)
The quickest way to the Destiny Knot starts way back at New Bark Town.
You’ll need to bring along Pokémon with both Surf and Waterfall.
Step 1: Start by flying to New Bark Town, then Surf on the water leading to Route 27, on the eastern limit of town.
Step 2 From this point, Surf directly to the east until you reach the patch of dry land pictured below. Disembark here.
Step 3: Walk a little further east and you’ll see the entrance to Tohjo Falls.
Step 4: Go inside the cave and Surf on the water.
You’ll see a waterfall almost immediately – climb up it.
Step 5: Once you’re at the top, follow the river around and descend the waterfall on the other side.
Step 6: Head south from the bottom of the waterfall and you’ll see a patch of dry land with the exit to Tohjo Falls almost immediately.
Leave the cave here and Surf again on the water immediately to the right of the exit.
Step 7: Now, Surf directly east again until you encounter more dry land. Disembark here.
Step 8: From here, head east again until you reach a boardwalk.
Cross the boardwalk and you’ll reach three staircases up the cliffs.
Step 9: Climb all three sets of stairs, follow the cliff-top path along to the east, and descend the staircases on the other side.
Towards the bottom of your descent, you’ll see a Pokéball lying on the ground. Pick it up and it contains the Destiny Knot.