In one of the most exciting regular season games in Vikings history, the team used a frantic rally late in the second half to take the lead with under a minute left in the fourth quarter. And they still needed overtime to win it 33-30. Here is how it all went down.

Third quarter

1:34: Dalvin Cook breathes life into the Vikings with an 81-yard TD run. Bills' lead cut to 27-17.

Fourth quarter

10:27: Patrick Peterson intercepts Josh Allen in the end zone on fourth-and-2 from the Vikings 7. Vikings then drive 66 yards for a C.J. Ham TD. But …

4:34: Greg Joseph hits the upright on PAT attempt after Ham's TD, leaving the score at 27-23.

2:00: With the Vikings on their own 27, Justin Jefferson extends a drive with a miraculous 32-yard catch on fourth-and-18.

0:59: Jefferson's go-ahead, 6-yard TD catch is overturned on video review and the ball is potted at the 1, making it fourth down.

0:50: Cook drops a fourth-down pass at the goal line, but an offsides penalty on the Bills gives the Vikings another chance.

0:50: Kirk Cousins is stopped for no gain on fourth-and-goal. Spot is upheld by replay.

0:41: On first-and-10 from their 1, after the Cousins stop, the Bills botch the snap and Eric Kendricks pounces on the fumble in the end zone. Vikings lead 30-27.

"The range [of emotions] would be about as much of a possible range as you could have in that moment," Vikings coach Kevin O'Connell said.

0:24: Gabe Davis makes a diving catch on the sideline at the Vikings 40 for a 20-yard gain. After the game, an NFL official said Davis did not maintain control of the ball, and the play should have been reviewed and overturned.

0:02: Tyler Bass ties the score at 30-30 and sends the game to overtime with a 29-yard field goal, capping a five-play, 69-yard drive.

Overtime

3:42: On the first possession of OT, the Vikings drive to the Buffalo 2, but after a tackle for a loss and a sack, Joseph puts them ahead 33-30 with a 33-yard field goal.

1:25: Vikings cornerback Duke Shelley, added for the game off the practice squad after Cameron Dantzler went on injured reserve, breaks up an end zone pass intended for tight end Dawson Knox.

1:12: Peterson picks off Allen for the second time, in the end zone, to end the game. "To find a way to have more points in the end today, I'm going to remember this one forever," O'Connell said.