There are
913 mi
from Portsmouth, VA to Cape Girardeau, MO
That's the driving distance. It would take 17 hours 5 mins to go from Portsmouth, Virginia to Cape Girardeau, Missouri.
The flight distance (direct flight from Portsmouth, VA to Cape Girardeau, MO) is 728.93 mi.
913 mi = 1,468.94 kms