There are
952 mi
from Asheville, NC to Portsmouth, NH
That's the driving distance. It would take 18 hours 38 mins to go from Asheville, North Carolina to Portsmouth, New Hampshire.
The flight distance (direct flight from Asheville, NC to Portsmouth, NH) is 813.17 mi.
952 mi = 1,531.67 kms