There are
866 mi
from St Charles, MO to Petersburg, VA
That's the driving distance. It would take 16 hours 5 mins to go from St Charles, Missouri to Petersburg, Virginia.
The flight distance (direct flight from St Charles, MO to Petersburg, VA) is 721.16 mi.
866 mi = 1,393.01 kms