SR 46 begins at the North Carolina state line south of the community of Valentines. The roadway continues southeast as NC 46 toward
Gaston. The Virginia state highway heads north as Christanna Highway through southern Brunswick County, where the highway passes through Valentines and
Brunswick. SR 46 passes to the east of the remains of
Fort Christanna before crossing the
Meherrin River. The state highway meets US 58 (Governor Harrison Parkway) at a
diamond interchange and begins to
run concurrently with
US 58 Business. The two highways enter the
county seat of Lawrenceville on Hicks Street. After passing over a rail line, SR 46 and US 58 Business turn east onto Meredith Street, then north onto Main Street. The highways separate when SR 46 turns west onto Church Street. The state highway veers northwest onto Windsor Street while passing along the edge of
St. Paul's College. SR 46's name again becomes Christanna Highway as it heads northwest toward the hamlet of
Cochran west of Alberta. In Cochran, the state highway intersects US 1 (Boydton Plank Road) adjacent to the Christanna campus of
Southside Virginia Community College and has a partial interchange with I-85 that allows access in the direction of South Hill. Access to northbound I-85 toward Petersburg is provided via US 1. SR 46 continues northwest to the village of
Danieltown, where the highway meets the eastern end of
SR 137 (Danieltown Road). SR 46 enters
Nottoway County when it crosses the
Nottoway River on the Kennedy Bridge just east of the Nottoway Reservoir. The state highway, now known as Brunswick Road, passes through the southwestern portion of
Fort Barfoot before reaching its northern terminus at SR 40 (Kenbridge Road) just south of the town of Blackstone. ==Major intersections==