North Penn's experience and savvy trumped Coatesville's quickness and youthful exuberance.
The host Knights gained control of Friday night's PIAA Class 6A state first-round playoff with a pair of third-quarter scores and eliminated the Red Raiders, 42-25, at Crawford Stadium in Lansdale.
The marathon contest was marred by countless penalties and several skirmishes between the squads.
Ahead by 21-13 at intermission, North Penn's Nick Dillon found pay dirt from 55 yards on a nifty hook-and-ladder play off a pitch from Jake Hubler. Dillon followed that with a 3-yard touchdown run to make it 35-13.
North Penn (13-0) will host Garnet Valley (11-2) next weekend in a state quarterfinal that will also serve as the District 1 championship game. Garnet Valley ousted previously undefeated Perkiomen Valley, 44-27, Friday night in Collegeville.
In what will be their 11th appearance in the district final, the Knights are seeking their seventh title. Their last came in a 34-14 victory over Council Rock South in 2011.
Against Coatesville, North Penn, which totaled 308 yards of offense in the first half, found the end zone three times in the second quarter.
Fullback Anthony Andrews had an 18-yard touchdown burst. Dillon went 2 yards for a score on a left-side pitch, and Reece Udinski found tight end Owen Thomas along the right sideline for a 68-yard touchdown.
In the first half, Udinski, a second-year starter who has thrown for more than 3,000 yards and 33 touchdowns this season, connected on 5 of 10 throws for 173 yards.
The first of Dillon's three tallies was set up by Udinski's lateral to wideout Justis Henley and Henley's 38-yard toss to Thomas.
North Penn's aggressive defense was led by lineman Zach Lavalla, linebackers Thomas and Ricky Johns and backs Huber and Henley.
Coatesville (11-2) went in front, 6-0, at the end of the first quarter on Aaron Young's 4-yard, left-side run.
The Red Raiders were seeking their first district title since routing Spring-Ford, 59-28, in 2012.
Coatesville 6 7 0 12 - 25
North Penn 0 21 24 7 - 42
C: Aaron Young 1 run (kick failed)
NP: Anthony Andrews 18 run (Kelly Mcnamara kick)
C: Mekai Alexander 37 pass from Ricky Ortega (Willie Barsee kick)
NP: Nick Dillon 2 run (Mcnamara kick)
NP: Owen Thomas 68 pass from Reece Udinski (Mcnamara kick)
NP: Jake Hubler 55 run on lateral (McNamara kick)
NP: Nick Dillon 3 run (Mcnamara kick)
C: Frankie Delossantos 83 interception return (kick blocked)
NP: Dillon 7 run (McNamara kick)
C: Jadan Hudson 37 pass from Ortega (pass failed)