But a roughing-the-center penalty on North Carolina's Norkeithus Otis kept alive a drive that led to a 9-yard TD pass from Golson to Tarean Folston early in the fourth quarter and the Irish added a two-point conversion. North Carolina (2-4) was driving when Williams' short pass was intercepted by cornerback Cole Luke at the 26. That set up Folston's 6-yard scoring run, his third touchdown.
But North Carolina had one last chance after Williams threw an 18-yard touchdown pass to Mack Williams with 47 seconds left. But North Carolina's onside kick was recovered by Notre Dame's Ben Koyack.
The Irish are at No. 1 Florida State (6-0) next week. Notre Dame's last game against a No. 1 team was against Southern California in 2005, the "Bush Push" game when Trojans tailback Reggie Bush nudged quarterback Matt Leinart into the end zone with 3 seconds left for the winning touchdown.
North Carolina (2-4) lost its fourth straight and fell to 0-12 at Notre Dame Stadium.
Golson was 21 of 38 passing for 300 yards. Will Fuller caught touchdown passes of 13 and 35 yards and finished with seven catches for 133 yards. Cam McDaniel and Greg Bryant also ran for touchdowns and the Irish finished with 519 yards total offense.
Williams rushed for a career-high 132 yards and was 24-of-41 passing for 303 yards. Despite saying he wouldn't, North Carolina coach Larry Fedora abandoned his practice of rotating quarterbacks. Mitch Trubisky, a redshirt freshman, had entered each game on the third offensive series, but didn't play against the Irish.
Freshman Elijah Hood, who originally committed to Notre Dame, had a season-high 17 carries, finishing with 27 yards. The Tar Heels finished with a season-high 510 yards of offense.
North Carolina continued to be plagued by mistakes that Fedora said during the week was hurting the Tar Heels. Those mistakes included a fumble by Hood that set up an easy Notre Dame touchdown, Ryan Switzer losing 12 yards on a punt return, a missed 32-yard field goal, a blocked point-after attempt and a dropped pass by tight end Jack Tabb on a two-point conversion attempt. They also were called for three false starts.
Notre Dame had its share of mistakes as well, most notably the three turnovers that led to 21 points. The offensive line also struggled at times.
The first half was a game of stark momentum swings. North Carolina jumped to a 14-0 lead on a pair of turnovers by Golson, leading to a 6-yard TD run by Hood and a 29-yard interception return by linebacker Jeff Schoettmer. The Irish then dominated over the next 14 minutes, outgaining the Tar Heels 223 yards to 15 as they scored three straight touchdowns.
The teams then traded touchdowns as the Irish led 28-26 at halftime. The 26 points by the Tar Heels were nine points more than the Irish had allowed in a game all season.