There are
642 mi
from Roanoke, VA to Cape Girardeau, MO
That's the driving distance. It would take 12 hours 5 mins to go from Roanoke, Virginia to Cape Girardeau, Missouri.
The flight distance (direct flight from Roanoke, VA to Cape Girardeau, MO) is 526.22 mi.
642 mi = 1,033.50 kms