There are
389 mi
from Elgin, IL to Ham Lake, MN
That's the driving distance. It would take 7 hours 15 mins to go from Elgin, Illinois to Ham Lake, Minnesota.
The flight distance (direct flight from Elgin, IL to Ham Lake, MN) is 333.05 mi.
389 mi = 626.79 kms