There are
189 mi
from Richmond, VA to Roanoke, VA
That's the driving distance. It would take 3 hours 33 mins to go from Richmond, Virginia to Roanoke, Virginia.
The flight distance (direct flight from Richmond, VA to Roanoke, VA) is 138.75 mi.
189 mi = 303.62 kms