Vikings beat 49ers 23-17 at home opener, starting season 2-0

Vikings start season 2-0 after upsetting 49ers: Key takeaways from CBS Sports’ Cody Benjamin

MINNEAPOLIS — Sam Darnold strong-armed his former team in his home debut for the Minnesota Vikings — with a 97-yard touchdown pass to superstar Justin Jefferson.

The San Francisco 49ers weren't surprised by his success in the 23-17 victory by the Vikings on Sunday, but they sure were kicking themselves for some of his opportunities.

"It hurts my soul, honestly. We knew exactly the type of game it was going to be, what was going to be required for us to win the game," said linebacker Fred Warner, who had nine tackles, two passes defensed, an interception and two forced fumbles — one of which the 49ers recovered. "We've got so much talent in the room. We're always going to play hard, but it's about playing smart."

The 49ers, who were 2 for 10 on third down conversions and 1 for 3 on fourth down attempts, went for it on fourth-and-goal from the 2 early in the second quarter. Brock Purdy's pass for Jauan Jennings was deflected by Andrew Van Ginkel at the line of scrimmage and knocked down by Harrison Smith at the goal line, giving the Vikings the ball.

On second down from the 3, Vikings coach Kevin O'Connell called a play he'd been hanging onto to beat a certain coverage look from the 49ers that worked against them last season.

Jalen Nailor, who caught a touchdown pass for the second straight game, ran a crossing route to clear out cornerback Charvarius Ward. Jefferson, who lined up in the slot inside of Nailor, had man-to-man coverage from backup safety George Odum, with starter Talanoa Hufanga, the 2022 All-Pro, sidelined by injury. Jefferson ran straight up the seam to blow by Odum, bent his route slightly to the left and was suddenly past safety Ji'Ayir Brown, who was responsible for the middle third of the field.

"He's a good player and all, but we've got to do better on our leverage," Odum said. "That's the reason he got us."

Jefferson ran his route deceptively enough to fake Brown into thinking he was running toward the opposite sideline instead of Nailor.

"He kind of just took the roof off," Brown said. "Sam did a hell of a job balling too, letting that thing go."

Brock Purdy #13 of the San Francisco 49ers and Sam Darnold #14 of the Minnesota Vikings speak following the game at U.S. Bank Stadium on September 15, 2024 in Minneapolis, Minnesota. Getty Images

 
Darnold let the ball fly with solid protection against a five-man rush. Jefferson caught it in stride just across midfield after it soared 55 yards in the air and ran diagonally toward the 49ers sideline, before stutter-stepping at the 28 and veering the opposite direction.

O'Connell had to restrain himself from throwing his arms in the air once he saw the throw, confident in the play design and the players running it.

"We practice that play time and time again. We didn't practice it being on the 3-yard line and us going 97, but it was a great, great ball by Sam," Jefferson said.

Nailor caught up to dart in front of the defenders and escort Jefferson across the goal line that gave them a 10-0 lead.

MINNEAPOLIS, MINNESOTA - SEPTEMBER 15: Justin Jefferson #18 of the Minnesota Vikings makes a catch against the San Francisco 49ers during the second quarter at U.S. Bank Stadium on September 15, 2024 in Minneapolis, Minnesota. Adam Bettcher / Getty Images

"I think I could've got in by myself, but I always will appreciate the extra help," Jefferson said. "Just that effort for him to run down there, to get me that block, it just shows you the amount of selfishness that we don't have on this team."

That was the second-longest play from scrimmage in Vikings history. Gus Frerotte threw a 99-yard touchdown pass to Bernard Berrian in 2008 against the Chicago Bears to set the record.

Fitting that it went to Jefferson, whose name is all over the team record books. Jefferson (6,091 career yards) matched Lance Alworth as the fastest receivers in NFL history (62 regular season games) to hit the 6,000-yard mark. The only others who got there before their 26th birthday were Mike Evans and Randy Moss. Alworth and Moss are in the Pro Football Hall of Fame.

Jefferson was later forced out of the game with a quad injury. He later said he's "feeling good" and "not seriously injured."  

Darnold, who played last season for the 49ers, signed with Minnesota this year and at age 27 became the youngest quarterback in NFL history, according to CBS, to start for four different teams. Darnold was the third overall pick in the 2018 draft by the New York Jets.

"We knew we were up for a challenge. Sam is a hell of a quarterback. Got a lot of arm talent," 49ers coach Kyle Shanahan said.

Ham it up

The Vikings set up their first field goal with a blocked punt by C.J. Ham, the ninth-year fullback and special teams stalwart. Theo Jackson scooped it up for a 37-yard return to the San Francisco 24.

Injuries

49ers: S Talanoa Hufanga (knee) was held out for the second straight week.

Vikings: WR Jordan Addison (ankle) was inactive after getting injured in the game last week.

Up next

49ers: Visit the Los Angeles Rams next Sunday. The 49ers had a 10-game regular-season winning streak against their division rival, excluding the NFC championship game in 2021-22, that ended with a 21-20 loss to the Rams on Jan. 7, 2024. That was Darnold's only start for the 49ers.

Vikings: Host Houston on Sept. 22. They're 5-0 all time against the Texans, who will bring former Vikings stars WR Stefon Diggs and DE Danielle Hunter with them.

 

49ers score field goal, making it a one-score game

Jake Moody scores a 31-yard field goal, making it a one-score game between the Vikings and 49ers.

By Riley Moser
 

Vikings score field goal, increasing lead over 49ers

Will Reichard scores a 27-yard field goal. The Vikings now lead the 49ers by 9 points.

By Riley Moser
 

49ers score touchdown; Vikings winning 20-14

The 49ers' Jordan Mason scores a touchdown and Jake Moody scores the extra point. The Vikings remain in the lead, with the score 20-14.

By Riley Moser
 

Justin Jefferson injured, return questionable

Vikings' wide receiver Justin Jefferson exited the field with assistance late in the third quarter after being injured in play. He suffered a right quad injury and his return is questionable.

Jefferson was blocking on the play late in the third quarter when he collided with teammate Garrett Bradbury and also took contact from 49ers linebacker Fred Warner.

Nick Bosa of the 49ers was also injured in the same play.

Jefferson missed seven games last season with a hamstring injury.  

By Riley Moser
 

Vikings intercept 49ers, score touchdown

The Vikings' Jalen Nailor catches a 10-yard pass from Sam Darnold for a touchdown and Will Reichard scores the extra point. The touchdown comes after Josh Metellus intercepted a pass from 49ers' Brock Purdy meant for Kyle Juszczyk.

The Vikings are now winning 20-7.

By Riley Moser
 

97-yard TD pass 2nd longest in Vikings history

Sam Darnold strong-armed his former team in his home debut for the Minnesota Vikings — with a 97-yard touchdown pass to superstar Justin Jefferson.

Darnold dropped back into his end zone on second down from the 3 in the second quarter, spotted Jefferson speeding on a go-route between San Francisco safeties Ji'Ayir Brown and George Odum and let the ball fly. Jefferson caught it in stride just across midfield after it soared 55 yards in the air and ran diagonally toward the 49ers sideline, before stutter-stepping at the 32 and veering the opposite direction.

Vikings teammate Jalen Nailor caught up to dart in front of the two defenders and escort Jefferson across the goal line that gave them a 10-0 lead.

That was the second-longest play from scrimmage in Vikings history. Gus Frerotte threw a 99-yard touchdown pass to Bernard Berrian in 2008 against the Chicago Bears to set the record.

 

Vikings ahead 13-7 against 49ers at half

The Vikings' Will Reichard scored a 39-yard field goal to bring their score up 13-7 against the 49ers heading into half time.

By Riley Moser
 

49ers' Kittle scores touchdown

The 49ers' George Kittle scores a 7-yard touchdown and Jake Moody scores the extra point. The 49ers now trail the Vikings by three points with less than two minutes left in the second quarter.

By Riley Moser
 

Justin Jefferson scores 97-yard touchdown reception

Justin Jefferson scored a 97-yard touchdown reception for the Vikings and Will Reichard scored the extra point, improving their score to 10-0 against the 49ers.

By Riley Moser
 

Vikings score field goal

The Vikings' Will Reichard kicked a 22-yard field goal to score the first points of the game. The Vikings are now ahead of the 49ers 3-0.

By Riley Moser
 

Vikings superfan from Arizona returns to Minnesota for home opener

Jason Harmon from Arizona is one of the Vikings' biggest fans, and he'll be among the sea of purple inside U.S. Bank Stadium on Sunday.

Click here for Harmon's full story.

By Pauleen Le
f

We and our partners use cookies to understand how you use our site, improve your experience and serve you personalized content and advertising. Read about how we use cookies in our cookie policy and how you can control them by clicking Manage Settings. By continuing to use this site, you accept these cookies.