There are
1,003 mi
from Iowa City, IA to Petersburg, VA
That's the driving distance. It would take 18 hours 57 mins to go from Iowa City, Iowa to Petersburg, Virginia.
The flight distance (direct flight from Iowa City, IA to Petersburg, VA) is 812.45 mi.
1,003 mi = 1.61 kms