There are
934 mi
from Portsmouth, VA to Maryland Heights, MO
That's the driving distance. It would take 17 hours 22 mins to go from Portsmouth, Virginia to Maryland Heights, Missouri.
The flight distance (direct flight from Portsmouth, VA to Maryland Heights, MO) is 781.78 mi.
934 mi = 1,503.32 kms