PA 35 begins at an intersection with US 522 near the borough of Shade Gap in Dublin Township, Huntingdon County, heading northeast on a two-lane undivided road. Soon after beginning, the route intersects PA 641 as it runs through rural residential areas. From here, the road heads into a mix of farmland and woodland with some homes, crossing into Tell Township. Here, PA 35 becomes Shade Valley Road and runs through more agricultural areas in a valley. The route continues through Richvale and runs through more farmland along with occasional woods and residences.[2][3]
PA 35 enters Lack Township in Juniata County and becomes an unnamed road, passing through more valley farmland with some homes. The road heads into more forested areas as it runs through Cross Keys and Peru Mills. The route heads through more forests with a few agricultural clearings, crossing into Tuscarora Township. At this point, PA 35 runs through farmland with some woods and homes, passing through Reeds Gap and coming to an intersection with the western terminus of PA 850. Following this, the road turns more to the north-northeast and heads into forests. The route curves northeast again and continues through more wooded areas with occasional farm fields, heading into Beale Township. PA 35 heads through more agricultural surroundings with occasional woods and homes, passing through Nook and Walnut. The road continues into Milford Township and heads through more open farmland. Farther northeast, the route heads through a mix of farmland and woodland as it comes to a junction with PA 333. Here, PA 333 turns northeast to form a concurrency with PA 35 and the road heads north through areas of woods and farms with some development. The road crosses into the borough of Mifflin and becomes Wilson Street, turning to the east. PA 333 splits from PA 35 by heading north, with PA 35 coming to a bridge over Norfolk Southern's Pittsburgh Line and continues east as an unnamed road to a bridge over the Juniata River. Crossing the river, the road leaves Mifflin and heads back into Milford Township, crossing into Fermanagh Township in the middle of the river.[2][4]
After crossing the river, the route continues east and comes to a roundabout with William Penn Highway, where it turns north onto South Main Street and runs through residential areas. PA 35 enters the borough of Mifflintown and continues north to the commercial downtown, where it turns east onto Bridge Street. A short distance later, the route becomes Washington Avenue. The road turns to the northeast and runs through residential areas. The route heads back into Fermanagh Township and heads through a mix of farmland and residences. PA 35 passes businesses as it comes to an interchange with the US 22/US 322 freeway, becoming a divided highway at this point. Past this interchange, the route turns to the north-northeast and becomes undivided again, gaining a center left-turn lane. The road passes more commercial establishments before narrowing back to a two-lane road and turning east-northeast into open farmland with occasional development. PA 35 turns northeast and crosses into Fayette Township, passing through Oakland Mills and runs through more agricultural areas with some patches of woods and homes. The route heads northeast into the residential community of McAlisterville and reaches an intersection with PA 235. At this point, PA 235 forms a concurrency with PA 35 before splitting to the north. PA 35 passes through more of the community prior to heading east-northeast into open farmland with some homes, running through Bunkertown. The road heads through more rural areas as it enters Monroe Township and passes through Evendale. The route passes through a small corner of West Perry Township in Snyder County before running through more of Monroe Township, Juniata County. At this point, PA 35 passes through more agricultural areas and running a short distance to the south of the West Branch Mahantango Creek before heading through Richfield, where it passes homes and a few businesses.[2][4]
PA 35 crosses West Branch Mahantango Creek back into West Perry Township in Snyder County and heads through open farmland with occasional residences. The road continues into Perry Township and runs east-northeast through more agricultural areas with some woods and homes. The route runs through the residential community of Mount Pleasant Mills, turning northeast and reaching an intersection with PA 104. From here, PA 35 heads through more farmland with some areas of woods and residences, entering Washington Township. The road heads through more rural areas before crossing into the borough of Freeburg. Here, the route becomes Market Street and is lined with several homes. PA 35 heads back into Washington Township as an unnamed road and runs through more open farm fields with a few patches of woods and residences. Upon crossing Middle Creek, the route heads into Penn Township and runs through the community of Kantz, heading through more rural areas. The road passes between Selinsgrove Speedway to the north and residential areas to the south, widening into a four-lane divided highway at the intersection with South Market Street. PA 35 continues east and crosses Penns Creek, ending at a trumpet interchange with the US 11/US 15 freeway south of the borough of Selinsgrove.[2][5]