View game action photos of the Border Battle between the Vikings and Packers during the Week 11 matchup at U.S. Bank Stadium.
MINNEAPOLIS — Greg Joseph put it through the uprights and teammates lifted him toward the rafters.
The kicker made a 29-yard field goal as time expired for a 34-31 Vikings victory over the Packers Sunday.
The win was the 500th regular-season victory by the Vikings and evened Minnesota's record on the year to 5-5. The Packers dropped to 8-3 after a wild and wooly finish.
Justin Jefferson gave Minnesota a 29-24 lead with 2:17 remaining by hauling in a 23-yard reception. Dalvin Cook followed with a successful run on a 2-point conversion for a 31-24 lead.
But no one who knows the 2021 Vikings took a breath.
Green Bay answered one play later with a 75-yard touchdown pass from Aaron Rodgers to Marquez Valdes-Scantling.
The Vikings got the ball back with 2:08 and nearly lost it, but a play initially ruled an interception was reviewed and reversed.
Cousins followed by closing the drive with three completions for 51 yards, and Cook added a 12-yard rush as Minnesota wound time down to prevent another possession by the Packers.
Jefferson finished with eight catches for 169 yards and two touchdowns for his second-highest yardage total in a game.
Adam Thielen added eight catches for 82 yards and a touchdown. He moved into fifth all-time on Minnesota's career receptions list (passing Kyle Rudolph, 453). Thielen now has 455, the first four of which were recorded at Green Bay in 2014.
Cousins finished 24-of-35 passing for 341 yards with three scores and a passer rating of 128.4, standing toe-to-toe with Rodgers.
The long touchdown to Valdes-Scantling boosted Rodgers' numbers to 23-of-33 passing for 385 yards and four scores for a near-perfect passer rating of 148.4. It was the most yardage by a Packers QB in the 122-game history of the Border Battle.
Valdes-Scantling finished with four catches for 123 yards and the score; Davante Adams recorded seven catches for 115 yards and two scores. He now has 12 career touchdowns against Minnesota.
Cook totaled 86 rushing yards and a score on 22 carries.
Minnesota converted nine of 13 third downs and won time of possession 31:01 to 28:59.
Q1, 13:17 remaining
Packers 3, Vikings 0
Mason Crosby kicks a 54-yard field goal [5 plays, 39 yards, 1:43 time of possession]
Auspicious start: The Packers gained 37 on the opening play of the game. Green Bay lined up Davante Adams in the slot and had him run a crossing route. It appeared the Vikings didn't pass coverage between zone defenders.
Q1, 9:14 remaining
Packers 3, Vikings 3
Greg Joseph kicks a 51-yard field goal [7 plays, 42 yards, 4:03 time of possession]
Big pick up: The Vikings found Jefferson for a gain of 43 to pick up a third-and-6 from their own 29.
Q1, 1:48 remaining
Vikings 9, Packers 3
Dalvin Cook rushes for 1 yard (PAT misses wide right) [6 plays, 84 yards, 3:20 time of possession]
Deep heave: After extending the drive with an 18-yard completion to Adam Thielen on third-and-4, Cousins and the Vikings took a deep shot to Jefferson for a gain of 56 two plays later. Jefferson was ruled down just shy of the goal line. Minnesota challenged, but the call stood. Cook trotted into the end zone untouched thanks to a great block by C.J. Ham.
Q2, 7:37 remaining
Vikings 16, Packers 3
Thielen catches a 10-yard pass from Cousins (Joseph kicks PAT) [7 plays, 78 yards, 3:38 time of possession]
Giant swing: The Vikings got a second chance when an interception by Darnell Savage was negated because of a roughing the passer penalty against Kingsley Keke. The defensive lineman hit Cousins' helmet to helmet. Instead of Green Bay ball at the Packers 37-yard line, Minnesota retained possession at the 9 and found Thielen on third-and-goal from the 10.
Q2, 0:30 remaining
Vikings 16, Packers 10
Josiah Deguara catches a 25-yard pass from Aaron Rodgers (Crosby kicks PAT) [9 plays, 74 yards, 3:48 time of possession]
Q3, 8:26 remaining
Vikings 23, Packers 10
Jefferson catches a 9-yard pass from Cousins (Joseph kicks PAT) [14 plays, 75 yards, 6:34 time of possession]
Balanced blend: The Vikings rushed eight times for 38 yards and completed four of six passes for 37 yards.
Q3, 3:35 remaining
Vikings 23, Packers 17
Adams catches a 10-yard pass from Rodgers (Crosby kicks PAT) [7 plays, 75 yards, 4:51 time of possession]
Mobility problems: Rodgers scrambled for a gain of 18 on second-and-6 two plays before buying a bundle of time and patiently finding Adams.
Q4, 7:49 remaining
Packers 24, Vikings 23
Adams catches an 18-yard pass from Rodgers (Crosby kicks PAT) [12 plays, 94 yards, 7:02 time of possession]
Chunk plays: The touchdown pass, on which Adams slipped behind Mackensie Alexander, was the sixth play of the drive that gained at least 7 yards.
Q4, 2:17 remaining
Vikings 31, Packers 24
Jefferson catches a 23-yard pass from Cousins (Cook conversion run) [12 plays, 79 yards, 5:32 time of possession]
Q4, 2:08 remaining
Vikings 31, Packers 31
Marquez Valdes-Scantling catches a 75-yard pass from Rodgers (Crosby kicks PAT) [1 play, 75 yards, 0:09 time of possession]
Going for it all: Valdes-Scantling got a step on safety Xavier Woods.
Q4, 0:00 remaining
Vikings 34, Packers 31
Joseph kicks a 29-yard field goal [8 plays, 64 yards, 2:08 time of possession]
Gutsy after second chance: The possession nearly ended when Darnell Savage was ruled to have intercepted Kirk Cousins on a deep pass. Officials reviewed and determined it was incomplete. Minnesota wasn't shy after the near turnover.
Cousins found completions of 6 yards to Jefferson to get to the 2-minute warning and then 19 to Cook and 26 to Thielen. Cook followed with a 12-yard run that allowed Minnesota to milk the clock.