Ian Book kept No. 2 Notre Dame’s offense moving while the Fighting Irish defense locked down Sam Howell and No. 25 North Carolina's potent offense for the final three quarters in a 31-17 victory on Friday.

Book threw for 279 yards and a score and ran for 48 yards for the Fighting Irish (9-0, 8-0 ACC, No. 2 CFP), using his mobility and elusiveness to keep plays alive on a night when both offenses frequently faced long fields.

Receiver Ben Skowronek got Notre Dame its first lead with his 13-yard run around the right side midway through the third quarter. Kyren Williams ran for 124 yards -- including a 47-yarder with about 5½ minutes left as the Irish burned clock and sealed the game.

CLICK HERE FOR MORE SPORTS COVERAGE ON FOXNEWS.COM

Notre Dame coach Brian Kelly called it “one of those road wins that really shows the mettle of your football team.”

Williams closed that drive with his second rushing TD, a clinching 1-yarder with 1:20 left that kept the Fighting Irish alone atop the ACC standings ahead of No. 4 Clemson and No. 10 Miami. He also had a 4-yard scoring catch in the first quarter after Book corralled a low snap and scrambled to buy time before finding him on the right side.

More impressively, though, was a defensive effort that forced Howell and the high-scoring Tar Heels to work for every gain after the opening quarter.

“I thought that the plan was outstanding,” Kelly said, “and the players executed it extremely well.”

UNC (6-3, 6-3, No. 19 CFP) sprinted to touchdowns on its first two drives, but Notre Dame surrendered only one field goal from there. The Tar Heels came in averaging 43 points and 563 yards, yet they were unable to buy time for Howell to push downfield for big gains nor open running lanes for a pair of backs averaging better than 100 yards rushing each in Javonte Williams and Michael Carter.

By the end, UNC had finished with a season-low 298 yards while Howell -- one of the national leaders in passing yardage and touchdowns -- threw for just 211 yards and a score. He also ran for a touchdown.

“You can’t rush for 87 yards and have six sacks and beat anybody, much less a really, really good football team,” UNC coach Mack Brown said. “So give Notre Dame credit. They’re really, really good. When they stepped up in the second half on defense, they really stepped up.”

THE TAKEAWAY

Notre Dame: The Fighting Irish came in with a defense that ranked among the nation’s best by allowing just 85.1 yards rushing and 16.6 points. That unit came up big even after losing safety Kyle Hamilton to a first-half targeting call, sacking Howell six times while surrendering just 87 yards rushing. Meanwhile Book — playing on the field where he made his first career start three years ago — guided Notre Dame to four touchdown drives of at least 75 yards with no turnovers while playing behind a reconfigured line that had lost two starters to injuries.

UNC: Brown had said this game would be a measuring-stick opportunity for his program against a team positioned to reach the four-team playoff. The Tar Heels got off to a fast start, but then struggled to sustain drives and finished with 173 yards after the first two scoring drives. That included being forced to punt on seven of eight drives before turning it over on downs in the final minute.

POLL IMPLICATIONS

The Fighting Irish are set to at least stand pat at No. 2, while the loss could knock UNC — which peaked at No. 5 in October — back out of the poll again.

UP NEXT

Notre Dame: The Fighting Irish host one-win Syracuse on Dec. 5 in their home finale.

UNC: The Tar Heels host Western Carolina on Dec. 5, their lone nonconference game added to replace a Sept. 19 visit from Charlotte that was canceled due to contact-tracing quarantines depleting the 49ers offensive line.