There are
405 mi
from St Joseph, MO to Cape Girardeau, MO
That's the driving distance. It would take 7 hours 40 mins to go from St Joseph, Missouri to Cape Girardeau, Missouri.
The flight distance (direct flight from St Joseph, MO to Cape Girardeau, MO) is 333.57 mi.
405 mi = 651.62 kms