There are
1,087 mi
from Roanoke, VA to Ham Lake, MN
That's the driving distance. It would take 20 hours 59 mins to go from Roanoke, Virginia to Ham Lake, Minnesota.
The flight distance (direct flight from Roanoke, VA to Ham Lake, MN) is 882.18 mi.
1,087 mi = 1,749.18 kms