There are
167 mi
from Roanoke, VA to Petersburg, VA
That's the driving distance. It would take 3 hours 37 mins to go from Roanoke, Virginia to Petersburg, Virginia.
The flight distance (direct flight from Roanoke, VA to Petersburg, VA) is 139.70 mi.
167 mi = 268.44 kms