There are
168 mi
from Baltimore, MD to Colonial Heights, VA
That's the driving distance. It would take 3 hours 33 mins to go from Baltimore, Maryland to Colonial Heights, Virginia.
The flight distance (direct flight from Baltimore, MD to Colonial Heights, VA) is 147.87 mi.
168 mi = 269.90 kms