There are
394 mi
from Middletown, OH to Cape Girardeau, MO
That's the driving distance. It would take 7 hours 41 mins to go from Middletown, Ohio to Cape Girardeau, Missouri.
The flight distance (direct flight from Middletown, OH to Cape Girardeau, MO) is 316.37 mi.
394 mi = 633.84 kms