Clover Spur, which follows the former Danville–Richmond rail line, and splits into a one-way pair: Broad Street northbound and Main Street southbound. Both directions intersect SR 304 (Seymour Drive). When Main Street veers northeast as two-way SR 129, southbound US 501 continues on two-way Wilborn Avenue to the northern end of the one-way pair. US 501 continues through South Boston on Wilborn Avenue, a five-lane road with center turn lane. The U.S. Highway becomes four-lane divided Halifax Road at Hamilton Boulevard. US 501 receives the northern end of SR 129 (Old Halifax Road) shortly before leaving the town of South Boston. The U.S. Highway enters the town of Halifax and becomes Main Street, a three-lane road with center turn lane, at its grade crossing of Norfolk Southern's Durham District. US 501 continues to the county courthouse, where the highway intersects the very short SR 349 (Edmunds Boulevard) and SR 360 (Mountain Road), which runs concurrently with the U.S. Highway through the northern part of the town. The two highways diverge: SR 360 heads northeast as Bethel Road and US 501 heads northwest as two-lane L.P. Bailey Memorial Highway. which crosses Banister Lake, an impoundment of the Banister River, as it leaves the town of Halifax. US 501 passes through Volens and Acorn on its way to the hamlet of North Halifax, where the highway begins to run concurrently with SR 40 (Stage Coach Road). The highways cross the Roanoke River into the town of Brookneal in Campbell County and pass under Norfolk Southern's Altavista District rail line. The highways continue as Lusardi Drive to Lynchburg Avenue in the center of town; SR 40 turns southeast while US 501 turns north west onto the street just north of the highways' grade crossing of the Durham District rail line. US 501 leaves the town as Brookneal Highway, which parallels the rail line through the communities of Naruna and Gladys on its way to Rustburg, the county seat of Campbell County. The U.S. Highway intersects SR 24 (Colonial Highway) at the southern edge of the village. The highways have a short concurrency before SR 24 continues east as Village Highway and US 501 heads northwest as Campbell Highway. North of Rustburg, US 501 expands to a four-lane divided highway into the independent city of Lynchburg, where the highway meets US 29 and US 460 (Richmond Highway) at a partial cloverleaf interchange. US 501