Louisville survived a disastrous (and emotional) third quarter on Thursday night to remain alive in the ACC championship discussion.

Isaac Guerendo rushed for a 73-yard, go-ahead touchdown with 3:24 remaining in the game to cap a 17-3 fourth quarter for the 11th-ranked Cardinals, who rallied to beat Virginia 31-24. Big plays both through the air and on the ground were key in the final frame.

Louisville had a 14-0 lead going into the locker room at halftime. The offense was stop-and-start throughout the game’s opening 30 minutes. A blocked punt returned for a touchdown — or, more aptly, caught in the endzone for a touchdown — was the key play to provide some separation.

In the third quarter, though, Virginia completely flipped the game.

Louisville missed a 35-yard field goal on its first possession of the third, ending an eight-play, 71-yard drive that began with an interception.

Virginia then marched 80 yards in 11 plays for a touchdown. A brilliant call on fourth-and-goal from the 1 gave Virginia some life. Then on the very next play from scrimmage, Louisville quarterback Jack Plummer was picked off by UVa’s Kame Robinson, who returned the pass 28 yards for a game-tying touchdown.

Louisville went three-and-out on its next possession and the game had officially flipped.

Virginia scored three plays later to take a 21-14 lead. But the play resulted in a serious injury to Virginia running back Perris Jones that halted the game and brought the entire UVa sideline onto the field. Jones was taken off on a stretcher.

The two sides swapped field goals on the next two possessions and, with 7:54 remaining, Virginia held a 24-17 lead.

Plummer hit passes of 9, 21, and 52 yards to score and tie the game at 24-all with 6:20 to play. On the ensuing Virginia possession, Devin Neal stopped a second-and-16 play for a minimal gain, then Mason Reiger broke up a third-and-10 pass to punch the Cavs off the field.

After the punt, Guerendo made a house call on P-and-10. The play-side blockers pinned down perfectly, weakside blockers hit their marks, and Guerendo found the hole to race to the endzone untouched.

Louisville forced a turnover on downs from midfield and was able to kneel out the clock on a win.

“We just kind of circled the wagons a little bit and got it going in the right direction and found a way to make a few plays at the end,” coach Jeff Brohm said after the game. “I was disappointed that we had that little rut there. But you know what?  I think as we continue forward, we are going to play good football teams and we will have some ruts like that. We need to be able to bounce back and be able to switch the momentum as quick as we can and not allow the game to get out of hand.

“We kept this game close. … I give Virginia a lot of credit. They did a very nice job. They came ready to play. They had a good second half, but we were able to finish in the end.”

The Cards moved to 9-1 with the victory. Both the overall start and the start to conference play (6-1) mark the best since 2016. The win also extended Louisville’s home winning streak to 11 games, tying the mark for the second-longest streak in program history.

Up next, the Cardinals hit the road to face Miami in Coral Gables.