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