Kirk Cousins let the ball fly for Jordan Addison earlier than he wanted to in the face of an all-out San Francisco blitz in the closing seconds of the second quarter for Minnesota, bracing for the worst after realizing the pass was underthrown.
Addison won the tug-of-war battle this time with 49ers cornerback Charvarius Ward and spun away for a 60-yard touchdown, and the Vikings finally pulled out a victory after three straight late lapses at home.
"I thought it was getting picked," Cousins said. "I still don't know how Jordan came away with it."
Cousins connected with Addison for two first-half scores, Camryn Bynum intercepted Brock Purdy twice in the fourth quarter, and the Vikings held on to beat the 49ers 22-17 on Monday night.
"One play here, one play there. We've had some tough losses," said Cousins, who went 35 for 45 for 378 yards and no sacks. "Last year we were fortunate enough to pull them out. We found a way tonight."
Christian McCaffrey scored twice for the 49ers (5-2), who have a two-game losing streak for just the second time in two years.
"We came in with the right mindset," said Purdy, who went 21 for 30 for 272 yards. "We've just got to execute better."
Addison, stepping up in a big way with superstar wide receiver Justin Jefferson sidelined by a hamstring injury, had seven catches for 123 yards in his breakout performance on a prime-time stage.
The play of the game came with on third-and-6 with 16 seconds left before halftime when the 49ers sent three extra rushers. The fight for the ball with Ward was eerily similar to the opening drive of the game, when Cousins threw to Addison over the middle where it was wrestled away by Ward to hang the Vikings with their fourth opening-drive turnover in seven games.
"I needed that one," Addison said. "I couldn't let him get it twice."
The first-round draft pick from USC, who left the game briefly with leg cramps, also had a 14-yard reception on third-and-4 on a drive that could have sealed the game for Minnesota (3-4).
But Greg Joseph, who also missed an earlier extra point, pulled a 50-yard field goal wide right.
With no timeouts and 1:11 left, the 49ers took possession at their 40. Purdy, who was picked off with 5:30 remaining at the Minnesota 30 after an off-target pass intended for Jajuan Jennings, completed two short throws to reach the Minnesota 40. But Bynum zeroed in on a pass over the middle for Ray-Ray McCloud III and leaped in front of him for the interception.
"Obviously, our season isn't going as well as we would like it to, but nothing's better than bouncing back from adversity and stacking wins up," Bynum said.
The 49ers, who were still the favorite to win the Super Bowl after a 19-17 defeat last week at Cleveland, played without wide receiver Deebo Samuel and left tackle Trent Williams, both of whom were hurt in that ugly game. Purdy bounced back from the worst game of his young NFL career and his first regular season loss as a starter, but those late interceptions will sting.
Minnesota's defense also avenged that mistake. McCaffrey lost the ball at the Minnesota 11 on the ensuing possession when Bynum and Harrison Smith converged on the NFL's leading rusher. Smith was credited for the forced fumble, his third of the season to tie a career high, and Dean Lowry recovered.
"I made a bad mistake today that I believe cost us the game," McCaffrey said.
That was the first time in seven games this season the 49ers failed to score on their first drive to portend their mistake-filled game. Addison's first touchdown, a perfectly placed 20-yard pass into the hole in the zone coverage after Cousins audibled, was the first allowed by the 49ers in the first quarter this season.
"Against that team, that's big-time quarterback play in my mind," coach Kevin O'Connell said.
Jake Moody, who missed a 41-yard field goal try in the closing seconds that would've won it at Cleveland, pulled a 40-yard attempt wide right in the second quarter. He later converted from 55 yards.
MONDAY NIGHT MILESTONES
McCaffrey, the only player in the league with a touchdown in every game this season, has a scoring streak of 16 straight games including the 2022-23 playoffs. He's one game short of Lenny Moore's all-time record from 1963-64.
Cousins hit the 300-yard mark for the 50th time in his 12-year career. Only four others have done that by their 12th season: Drew Brees (67), Matt Ryan (64), Peyton Manning (56) and Kurt Warner (52).
49ers: LB Demetrius Flannigan-Fowles departed after an ankle injury that occurred while covering the third-quarter kickoff. ... LB Dre Greenlaw (hamstring) returned from a one-game absence.
Vikings: LB Brian Asamoah limped off after colliding on the kickoff with Flannigan-Fowles. ... LG Ezra Cleveland (foot) didn't play, replaced by Dalton Risner.
49ers: Host Cincinnati on Sunday.
Vikings: Visit Green Bay on Sunday.
AP NFL: https://apnews.com/hub/NFL
for more features.