There are
222 mi
from Roanoke, VA to Shelby, NC
That's the driving distance. It would take 4 hours 29 mins to go from Roanoke, Virginia to Shelby, North Carolina.
The flight distance (direct flight from Roanoke, VA to Shelby, NC) is 163.01 mi.
222 mi = 357.48 kms