PA 381 begins at the West Virginia border in Wharton Township, Fayette County, where the road continues south into that state as CR 8 in Preston County. From the state line, the route heads north on two-lane undivided Wharton Furnace Road, passing through woodland with some farms and homes as it runs through tracts of the Forbes State Forest. PA 381 runs through more rural areas and reaches Elliottsville, where it turns southeast onto Elliottsville Road. The road curves to the east and heads through more forests before turning northeast into a mix of farmland and woodland with a few residences. The route continues north and north-northeast and reaches an intersection with US 40 in Farmington. Prior to a realignment in 2017, PA 381 briefly turned southeast to form a concurrency with US 40 due to an offset intersection which was eliminated. North of US 40, PA 381 runs through more forested areas with some fields and homes, crossing into Stewart Township. The road heads through more rural areas, crossing into forested Ohiopyle State Park. The route continues through the park and becomes Main Street as it heads into Ohiopyle and crosses Meadow Run. PA 381 passes a few homes prior to crossing the Youghiogheny River on the Ohiopyle Highway Bridge and becoming Mill Run Road, crossing CSX's Keystone Subdivisionrailroad line. The road heads back into forested areas of Ohiopyle State Park and turns northeast, crossing back into Stewart Township. The route curves east and leaves the state park as it heads north through wooded areas of homes before passing through an agricultural clearing. PA 381 runs through more forested areas and passes through Kauffman, at which point it passes to the east of Fallingwater. The road continues through forests with some farm fields and homes, heading into Springfield Township at the point it crosses Laurel Run. The route heads north into open agricultural areas with some woods and residences, passing through Mill Run. PA 381 runs through more farmland and woodland with some homes, crossing Indian Creek to the east of Indian Creek Reservoir. The road becomes Whites Bridge Road and intersects the western terminus of PA 653 before curving northwest and coming to a junction with PA 711 near Normalville. At this point, the route turns northeast to form a concurrency with PA 711 on Indian Creek Valley Road, continuing through wooded areas with some farm fields and residences. The road crosses into Saltlick Township and passes through Frogtown, at which point it runs a short distance to the northwest of Indian Creek. The two routes curve north and wind northwest through more rural areas, passing through Sagamore and Davistown. PA 381/PA 711 turns northeast and runs through more farmland and woodland with homes, going through Melcroft and Coffman, turning north again.
PA 381/PA 711 enters Donegal Township in Westmoreland County and becomes Jones Mill Road, heading through wooded areas with some residential development. The road comes to an intersection with PA 31, at which point PA 711 turns northwest to join PA 31 and PA 381 turns southeast to follow PA 31 on an unnamed road. PA 31/PA 381 runs through farmland and woodland with some homes, passing through Jones Mills. PA 381 splits from PA 31 by turning to the northeast, heading through forests. The road heads through more wooded areas with some fields and homes, passing through Horners Mill and winding to the north. The route turns to the northeast and heads through Franklin and Kregar before becoming the border between Cook Township to the west and Donegal Township to the east as it passes over Interstates 70 and 76 before intersecting the eastern terminus of PA 130. PA 381 fully enters Cook Township and heads north-northeast through woodland with some small fields and residences. The route heads through wooded areas of homes, turning northwest at Weaver Mill. The road continues into open agricultural areas with some trees and residences, winding north before turning to the northeast. PA 381 winds northeast into woodland with some homes, crossing into Ligonier Township and turning east, crossing Loyalhanna Creek and passing through Rector. The route heads into farmland with some homes, turning northwest onto Steeple Crossing. The road curves north and passes through Speedwell, heading into a mix of farms and woods and turning northeast. PA 381 comes to its northern terminus at an intersection with US 30.