There are
406 mi
from Portsmouth, VA to Asheville, NC
That's the driving distance. It would take 8 hours 1 min to go from Portsmouth, Virginia to Asheville, North Carolina.
The flight distance (direct flight from Portsmouth, VA to Asheville, NC) is 358.91 mi.
406 mi = 654.16 kms