Jeffrey Becker-USA TODAY Sports

Jordan Addison caught seven passes for 123 yards and two touchdowns, and the Minnesota Vikings held on for a 22-17 win over the San Francisco 49ers on Monday night in Minneapolis.

Kirk Cousins completed 35 of 45 passes for 378 yards, two touchdowns and one interception for Minnesota (3-4). T.J. Hockenson had a game-high 11 catches for 86 yards.

Christian McCaffrey scored once on the ground and once through the air for San Francisco (5-2), which lost its second straight game. Brock Purdy completed 21 of 30 passes for 272 yards, one touchdown and two interceptions.

Vikings safety Camryn Bynum picked off Purdy twice, including a leaping interception in the final minute to seal the outcome.

McCaffrey became the first player in NFL history to score at least one touchdown from scrimmage in 16 consecutive games, including playoffs. He entered Monday in a four-way tie with Lenny Moore (Baltimore), O.J. Simpson (Buffalo) and John Riggins (Washington).

Minnesota opened the scoring with 4:48 to go in the first quarter. Cousins fired a 20-yard touchdown pass to Addison, who found a soft spot in the 49ers' coverage.

The Vikings increased their lead to 10-0 on Greg Joseph's 21-yard field goal midway through the second quarter.

McCaffrey's history-making touchdown cut San Francisco's deficit to 10-7 with 1:01 left in the second quarter. He barreled through a crowded line of scrimmage for a 3-yard score.

Addison provided a highlight-reel reception for his second touchdown of the evening and the sixth touchdown of his rookie campaign.

On the play, Cousins underthrew a deep ball that looked as if it would be intercepted by 49ers cornerback Charvarius Ward. But as Ward began to come down with the ball, Addison reached in and ripped the ball out of the defender's arms. Addison then sprinted downfield for a 60-yard touchdown to make it 16-7.

The Vikings made it 19-7 on Joseph's 20-yard field goal midway through the third quarter.

McCaffrey struck again to pull the 49ers within 19-14 with 5:54 to go in the third quarter. He caught a swing pass toward the right sideline and took off for a 35-yard touchdown.

Joseph's 54-yard field goal gave the Vikings a 22-14 lead late in the third quarter.

On the next possession, San Francisco answered with a 55-yard field goal by Jake Moody to pull within 22-17.

More must-reads:

TODAY'S BEST
Phil Foden lifts Manchester City to fourth consecutive English Premier League title
Dodgers add recently acquired left-hander to active roster
Report: 2023 No. 7 pick expected to terminate KHL contract, join Flyers
Mavericks advance to Western Conference Finals aided by controversial call late
Connor McDavid, Oilers hammer Canucks to force Game 7
Tyson Fury-Oleksandr Usyk epic increases excitement for potential rematch
Seize the Grey wins in muddy Preakness
Even Mike Budenholzer admits the Suns need a point guard
Watch: Juan Soto's first multi-homer game as a Yankee
Xander Schauffele, Collin Morikawa lead at PGA Championship
Knicks could get major boost for Game 7 showdown with Pacers
Giants All-Star pitcher suffers setback in recovery from injury
Panthers star named winner of 2024 Selke Trophy
WNBA to investigate $100,000 sponsorship deals for Aces players
Tiger Woods blames one big factor for missing the cut at PGA Championship
'Ain't good enough': Draymond Green claims Celtics must 'win it all' or it's a 'failure'
Blue Jays GM wants struggling club to feel 'massive sense of urgency'
Raptors expected to flip former NBA champion during the offseason
MLB insider reveals Mets' massive extension offer that Pete Alonso turned down
Celtics legend provides update after gruesome finger injury

Want more sports news?

Join the hundreds of thousands of fans who start their day with Yardbarker's Morning Bark, the best newsletter in sports.