It runs north–south for 274.7 miles (442.1 km), beginning at the Louisiana state line and ending at a junction with MS 315 at Sardis Dam.
MS 35 serves the counties of Marion, Jefferson Davis, Covington, Smith, Scott, Leake, Attala, Carroll, Grenada, Tallahatchie, and Panola.
MS 13/MS 35 soon narrow to two-lanes and leaves the community to cross a bridge over the Pearl River to enter the city of Columbia.
The highway heads northeast through rural areas to cross the Bouie River and have an intersection with US 84 before entering the Mount Olive city limits.
MS 35 travels through farmland for several miles, where it passes through the community of Zion Hill, before the town of Mize along Oak Street.
The highways turn east to leave Mize and pass through woodlands (where they cross Oakohay Creek) for a couple miles before MS 35 splits off and heads north through farmland to enter the town of Raleigh.
The highway now leaves Vaiden and heads northwest through farmland, then woodlands, for the next several miles to have a short concurrency with US 82 before splitting off along MS 17 north to enter the town of Carrollton.
MS 35 leaves downtown and heads through neighborhoods along Main Street before merging onto Charleston Road and winding its northwest to North Carrollton and travel through hilly and mostly wooded terrain to enter Grenada County.
The highway winds its way northeast through a mix of farmland and wooded areas for several miles to enter the city of Batesville, with it passing through a neighborhood before becoming concurrent with MS 6/US 278.
MS 35/MS 315 Scenic travel through a small neighborhood before turning right onto Broadway Street to pass under US 51 and parallel a railroad through an industrial area.
The highway has another interchange with I-55 (Exit 246) before leaving Batesville and heading northeast through farmland to pass by Panola County Airport and cross Hotopha Creek.