Route 311 begins at an intersection with US 11 (College Avenue) in the
independent city of Salem. The state highway, which is maintained by the city within the city limits, heads north as Thompson Memorial Drive, a four-lane
divided boulevard that intersects
US 460 (Main Street) and passes to the east of
Roanoke College. Route 311 leaves the city limits of Salem at its partial cloverleaf interchange with
I-81, entering
Roanoke County. North of I-81, the state highway reduces to a two-lane undivided road and curves to the northeast into the community of
Hanging Rock, where the highway meets the northern terminus of
SR 419 (Electric Road). Route 311 turns left onto Catawba Valley Drive and leaves the
Roanoke Valley by following Mason Creek through a gap between
Fort Lewis Mountain to the west and
Brushy Mountain to the east. Route 311 heads north into Mason Cove, a narrow valley between Fort Lewis Mountain and Catawba Mountain, before turning northwest and ascending Catawba Mountain, on top of which the highway intersects the
Appalachian Trail. The state highway descends into the valley of Catawba Creek and passes through the community of
Catawba, where the highway intersects SR 779 (Catawba Creek Road) and SR 785 (Blacksburg Road), which form the main highway along the valley. Route 311 has a short ascent to McAfee Gap, enters
Jefferson National Forest, and curves to the north between Cove Mountain to the west and North Mountain to enter
Craig County. Route 311 descends into the valley of
Craig Creek, which the state highway follows northeast around the edge of Sinking Creek Mountain to the northwest, passing through the hamlet of
Abbott. The state highway follows Craig Creek to the town of
New Castle, the county seat of Craig County at the confluence of Johns Creek with Craig Creek. Route 311 meets the eastern terminus of
SR 42 (Main Street) before following Johns Creek west out of town. The state highway climbs Peters Hill and descends back to the narrow creek valley before climbing Potts Mountain. Route 311 heads down the mountain and follows Paint Bank Branch through a gap between Little Mountain and Middle Mountain to the community of
Paint Bank at the confluence of its namesake branch with
Potts Creek. The state highway meets the southern end of
SR 18, which follows the creek northeast toward the community of
Potts Creek, before ascending
Peters Mountain. At the summit of Peters Mountain, Route 311 leaves Jefferson National Forest and enters West Virginia. Route 311 descends the mountain to the village of
Sweet Springs in the northeastern corner of
Monroe County, where the state highway meets the eastern terminus of
WV 3 (Sweet Springs Valley Road). Route 311 follows the valley northeast back into Virginia, entering
Alleghany County and
George Washington National Forest. 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. At the community of
Crows,
SR 159 (Dunlap Creek Road) continues northeast through the valley while Route 311 follows Tygers Creek up the mountain to the west. The state highway parallels
CSX's
Alleghany Subdivision then passes under the railroad tracks at the hamlet of
Alleghany. Route 311 follows the west flank of Lewis Mountain to the West Virginia state line, then curves west into
Greenbrier County and reaches its northern terminus at a partial interchange with I-64 and US 60 east of White Sulphur Springs. There is no access from westbound I-64 to southbound Route 311 or from northbound Route 311 to eastbound I-64. ==Major intersections==