There are
351 mi
from Asheville, NC to Colonial Heights, VA
That's the driving distance. It would take 6 hours 40 mins to go from Asheville, North Carolina to Colonial Heights, Virginia.
The flight distance (direct flight from Asheville, NC to Colonial Heights, VA) is 307.63 mi.
351 mi = 564.99 kms