There are
242 mi
from Asheville, NC to Roanoke, VA
That's the driving distance. It would take 4 hours 36 mins to go from Asheville, North Carolina to Roanoke, Virginia.
The flight distance (direct flight from Asheville, NC to Roanoke, VA) is 185.48 mi.
242 mi = 389.20 kms