There are
397 mi
from Elgin, IL to Cape Girardeau, MO
That's the driving distance. It would take 7 hours 34 mins to go from Elgin, Illinois to Cape Girardeau, Missouri.
The flight distance (direct flight from Elgin, IL to Cape Girardeau, MO) is 333.45 mi.
397 mi = 638.68 kms