DALLAS TWP. — After two weeks looking for a comeback in the second half, Dallas found itself on the other side Friday night — clinging to a lead over Williamsport and looking for a defensive stop.

The Mountaineers got that stop — not just once but twice in the closing minutes.

Zach Paczewski made a crucial interception in his own end zone, and the Mountaineers would rally to force one final Millionaires turnover on downs to cap off an eventful fourth quarter and hang on to win 28-20.

“I’ll tell you, that was a whale of a football game,” said Dallas coach Rich Mannello after a game in which his Mountaineers held leads of 21-0 and 28-6 but needed to hang on against Williamsport’s high-octane offense. “When you’ve got heart and guts, you’ve got a chance and when you have a team that’s together like this, now you’re capable of doing extraordinary things.”

It was an emotional night at Mountaineer stadium as Dallas paid tribute to a member of its football alumni family.

The Dallas cheerleaders, student section and crowd traded in the baby blue for green shirts emblazoned with “JB 76” on them, the initials and jersey number of former Dallas and Dartmouth University lineman Josh Balara, who passed away in March after a battle with adrenal cancer.

“We still can’t believe he’s gone … his impact here is going to last forever,” said Mannello of his former player. “He was a tremendous student, untouchable character off the field and one heck of a football player.”

It looked, at least through almost three quarters, that Dallas might have a bit more of a comfortable time this week than in its wins over Abington Heights and Crestwood.

The Mountaineers led 28-6 late in the third, with their only blemish a long touchdown catch by Williamsport’s Yazhir Slaughter in the second quarter.

But Williamsport woke up quickly. Slaughter caught another long touchdown at the end of the third quarter, and quarterback Caleb Williamson scored from 15 yards out on a fourth-down QB sneak. The two-point conversion after Williamson’s score was successful, and a 28-6 Dallas lead was down to 28-20 with six minutes remaining.

An onside kick recovery on the ensuing kickoff, and Williamsport suddenly felt like it had all the momentum, just needing one more big play to give themselves a shot.

But Dallas, needing a shot in the arm, got one. A ball intended for Slaughter was picked off in the end zone by Paczewski, who ran it back out to the Dallas 33 and gave the Mountaineers some much-needed breathing room.

“Coach Austin was telling me to be ready, QB to number 11,” Paczewski said. “I saw his eyes went to number 11, and I knew the ball was going to be there.”

After the Mountaineers were forced to punt the ball back with 1:37 left, the defense didn’t leave any room for theatrics. A quick turnover on downs was capped off by a near-sack for Nate Malarkey, who got enough pressure on Williamson that he could only throw the ball directly into the line, falling incomplete.

“Our guys found a way,” Mannello said. “The pick was huge, and the pressure, we were finally able to get to them.”

Malarkey had an earlier interception in the first quarter, returning it to the Millionaires 1-yard line and setting up a Brady Zapoticky sneak for a score.

This was a theme for the Mountaineers with their early offensive success due to a mix of good punt returns and Williamsport penalties stacking up. Dallas started most of their scoring drives well inside Millionaire territory.

Zapoticky finished with two touchdown passes to go along with his run — one to Gavin Lewis and another to Paczewski in the third quarter to give Dallas a 28-6 lead, its biggest of the game.

Williamson threw for 305 yards on 26-for-43 passing and two scores, both to Slaughter. Slaughter only had five catches, but managed to turn them into 169 yards receiving.

Dallas 28, Williamsport 20

Williamsport`0`6`6`8 — 20

Dallas`14`7`7`0 — 28

First quarter

DAL — Gavin Lewis 12 pass from Brady Zaopticky (Rowan Laubach kick) 9:00

DAL — Zapoticky 1 run (Laubach kick) 0:08

Second quarter

DAL — Mike Lewis 1 run (Laubach kick) 10:53

WIL — Yazhir Slaughter 61 pass from Caleb Williamson (kick blocked) 10:00

Third quarter

DAL — Zach Paczewski 10 pass from Zapoticky (Laubach kick) 6:32

WIL — Slaughter 46 pass from Williamson (pass failed) 0:08

Fourth quarter

WIL — Williamson 15 run (Kahyear Whaley run) 6:06

Team statistics`WIL`DAL

First downs`11`9

Rushes-yards`22-88`29-150

Passing yards`305`101

Total yards`393`251

Passing`26-43-2`11-21-0

Sacked-yards lost`2-11`1-7

Punts-avg.`5-38`5-32

Fumbles-lost`0-0`2-0

Penalties-yards`11-87`3-25

INDIVIDUAL STATISTICS

RUSHING — WIL, Devon Harris 8-34, Semaj Hale 3-7, Whaley 6-17, Slaughter 1-(minus-3), Williamson 3-32, Deacon Brown 1-1. DAL, Dylan Geskey 12-89, Mike Lewis 12-41, Paczewski 1-5, Zapoticky 4-5.

PASSING — WIL, Williamson 26-43-305-2. DAL, Zapoticky 11-21-101-0.

RECEIVING — WIL, Kyreek Bradshaw 8-51, Hale 4-16, Salaij Moses 8-41, Slaughter 5-169, Harris 1-28. DAL, Dylan Lewis 1-12, Paczewski 6-46, Nick Farrell 2-17, Geskey 2-26.

INTERCEPTIONS — DAL, Nick Malarkey 1-40, Paczewski 1-33.

MISSED FGs — none