There are
294 mi
from Virginia Beach, VA to Salem, VA
That's the driving distance. It would take 5 hours 36 mins to go from Virginia Beach, Virginia to Salem, Virginia.
The flight distance (direct flight from Virginia Beach, VA to Salem, VA) is 226.78 mi.
294 mi = 472.94 kms