North Penn's Dick Beck saw early on what Garnet Valley's defensive plan was in the PIAA Class 6A state quarterfinal playoff matchup Friday night.

"They had decided they were not going to let us run the ball, so I said, 'OK, let's throw it,' " the coach said.

The Knights had the right man to answer the challenge in ever-improving and often underrated senior quarterback Reece Udinski.

The 6-foot-4, 180-pounder completed 23 of 28 passes for a single-game school record of 442 yards and four touchdowns as the hosts ousted the scrappy and resilient Jaguars, 48-38, at Crawford Stadium.

"Reece probably had one of his greatest nights on this field," said Beck, whose squad totaled 524 yards on offense.

For the season, Udinski, a second-year starter who has not drawn much recruiting interest from Division I or I-AA programs, has thrown for 3,827 yards and 37 scores.

With the contest also serving as the District 1 championship game, North Penn captured the crown in the top classification for the first time since 2011. It marked the program's seventh title since 2002.

In a state semifinal next weekend, North Penn (14-0) will take on the winner of the state quarterfinal Saturday afternoon between District 11's Parkland (10-3) and District 12's St. Joseph's Prep (11-0).

Against Garnet Valley, Udinski mostly spread the ball among wideouts Ricky Johns, Justis Henley, and Jake Hubler and tight end Nick Vasger.

Johns, who is bound for West Virginia, made eight catches for 211 yards. His 83-yard grab across the middle gave the quick-starting Knights a 14-0 advantage midway through the second quarter.

Udinski converted 12 of 13 throws for 258 yards and two scores in the first half, His 6-yard toss to Vasger made it 28-14 with 31/2 minutes remaining before the break.

Garnet Valley quarterback Nick Juliano cut the gap to 42-31 with a 34-yard TD run at the start of the fourth quarter. But North Penn answered with a seven-play, 70-yard drive that was capped by Johns' 29-yard touchdown run.

The Jaguars (11-3) closed the scoring when hulking lineman Joe Thomas intercepted a Udinski pass and rumbled 42 yards for a score.

In Garnet Valley's triple-option attack, Matt Lassik carried 20 times for 67 yards.

Garnet Valley 0 17 7 14 - 38

North Penn 21 7 14 6 - 48

NP: Nick Dillon 65 pass from Reece Udinski (Kelly Mcnamara kick)

NP: Ricky Johns 83 pass from Udinski (Mcnamara kick)

NP: Nick Dillon 7 run (Mcnamara kick)

GV: Jacob Buttermore 11 pass from Dan Juliano (Buttermore kick)

GV: Joshua Ciarrocchi 25 fumble return (Buttermore kick)

NP: Nick Vasger 6 pass from Udinski (Mcnamara kick)

GV: FG Buttermore 32

NP: Dillon 8 run (Mcnamara kick)

GV: Buttermore 27 run (Jason Rose kick)

NP: Nick Vasger 15 pass from Udinski (Mcnamara kick)

GV: Juliano 34 run (Buttermore kick)

NP: Ricky Johns 29 run (run failed)

GV: Joe Thomas 42 interception return (Buttermore kick)