Mike Watters-USA TODAY Sports

Louisville's defense recorded four sacks plus a clutch interception by Jarvis Brownlee late in the fourth quarter to secure a 20-14 victory over UCF on Friday night in Orlando.

Quarterback Malik Cunningham ran for 121 yards and a touchdown on 17 attempts and added 195 yards on 14-of-29 passing to lead the Cardinals (1-1), who bounced back after an ugly road loss at Syracuse in their Atlantic Coast Conference opener last week.

However, the Cardinals needed their defense to come through as the Knights (1-1) had two chances in the final six minutes of the game.

The Knights forced Louisville to punt on fourth-and-9 from its own 42 with 5:47 left in the fourth quarter. But after a running-into-the-kicker penalty, the Cardinals chose to go for the first down. Cunningham rolled out and fired a short toss that was dropped by Marshon Ford, giving the ball over to UCF at the Louisville 47.

UCF quarterback John Rhys Plumlee, who completed 16 of 34 passes for 131 yards and ran for 83 yards, drove the Knights down to Louisville's 5-yard line on nine plays. But on fourth and goal, Plumlee's pass to the back of the end zone was intercepted by Brownlee after he wrestled the ball away from UCF receiver Jaylon Griffin with 2:52 left.

The Knights regained possession after forcing another Louisville punt with under two minutes left.

After UCF advanced into Louisville territory to the 37-yard line, the Knights turned it over on downs when Plumlee's pass over the middle on fourth down went through the hands of receiver Xavier Townsend.

Isaiah Bowser scored both of UCF's touchdowns in the first half from 2 and 3 yards out to give the Knights a 14-7 halftime lead.

Cunningham broke loose for a 43-yard touchdown run with 2:46 left in the third quarter to put Louisville ahead 17-14. The Cardinals' defense, led by Kenderick Duncan's 13 tackles and YaYa Diaby's 1.5 sacks, kept UCF from scoring on 10 consecutive series to end the game and hand UCF only its third loss at home since 2017.

More must-reads:

TODAY'S BEST
Kings make huge decision on head coach Mike Brown
Oilers beat Stars to take 3-2 lead in WCF
Orioles lose two starting pitchers to season-ending surgeries
Yankees' Aaron Judge, Juan Soto make MLB history with impressive offensive numbers
Caitlin Clark frustrated by physical WNBA play: 'I feel like I'm getting hammered'
Bills give Olympic gold medalist chance in NFL
An epic temper tantrum highlighted Day 6 of the French Open
Broncos' Sean Payton shares promising Bo Nix update amid competition
Celtics HC Joe Mazzulla blasts media for Jayson Tatum, Jaylen Brown coverage
Pistons parting ways with GM after hiring new head of ops
Mike Tyson-Jake Paul fight temporarily postponed
Suns fill out Mike Budenholzer's coaching staff
Timberwolves boycotted TNT in support of criticized bigs
Watch: Oilers offense responds after big hit on Corey Perry
Seahawks WR doesn’t hold back on praise for QB Sam Howell
Report: Cowboys quietly 'all in' on Dak Prescott decision
Diamondbacks ace heading to injured list with hamstring strain
Golden Knights, key winger have mutual interest but face financial crunch
Pelicans to defer Lakers' first-rounder to 2025
Former top-10 WR pick speaks on retirement regret, comeback try