SR 20 begins at an intersection with US 15 (James Madison Highway) just west of the town of Dillwyn. The state highway heads north as the two-lane Constitution Route, which passes through the hamlet of Allenslevel, the site of Buckingham Correctional Center. SR 20 crosses the Slate River and passes through the community of Centenary on its way through northwestern Buckingham County to its crossing of the James River. On the north side of the bridge, the state highway enters the town of Scottsville, through which the highway passes as Valley Street. SR 20 meets SR 6 (Main Street) in the center of town. The two highways run together to the north end of town where SR 6 splits west as Irish Road.