Route 311 leaves the city limits of Salem at its partial cloverleaf interchange with I-81, entering Roanoke County.
Route 311 meets the eastern terminus of SR 42 (Main Street) before following Johns Creek west out of town.
At the summit of Peters Mountain, Route 311 leaves Jefferson National Forest and enters West Virginia.
Route 311 follows the valley northeast back into Virginia, entering Alleghany County and George Washington National Forest.
[3] The state highway, now named Kanawha Trail, passes through the communities of Sweet Chalybeate and Earlehurst, then follows the valley of Dunlap Creek between Dameron Mountain to the northwest and Snake Run Ridge to the southeast.