[1] PA 87 begins at an interchange with I-180/US 220 in the borough of Montoursville in Lycoming County, heading north on Loyalsock Avenue, a two-lane divided highway.
The route immediately crosses into Fairfield Township and becomes an undivided, unnamed road, running between farmland to the west and woodland with homes to the east.
The road continues into Upper Fairfield Township and heads through more agricultural areas with some residences, intersecting the western terminus of PA 864 in Farragut.
The road passes through more farm fields with some woods and residences in a narrow valley, crossing into Plunketts Creek Township as it heads north-northwest.
[2][3] PA 87 enters Hillsgrove Township in Sullivan County and turns east, passing through more forests along the south bank of the Loyalsock Creek.
The route comes to an intersection with US 220, at which point PA 87 turns north to join US 220 on German Street, heading through wooded areas of homes as it enters the borough of Dushore.
[2][4] PA 87 heads into North Branch Township in Wyoming County and continues east and northeast through more forests with occasional homes.
The route continues through wooded areas of homes and passes through North Mehoopany, turning east to cross the Susquehanna River into Washington Township.