Vikings top Christian McCaffrey-less 49ers for upset win after dominant showing from Justin Jefferson

The 49ers put CMC on injured reserve on Saturday due to his calf and Achilles injury

The San Francisco 49ers survived just fine without Christian McCaffrey last week to start the season. Week 2, however, was a very different story.

The Minnesota Vikings led the 49ers the entire way on Sunday afternoon at U.S. Bank Stadium in Minneapolis. They held on late to secure a 23-17 victory and improve to 2-0, thanks in large part to a huge day from Justin Jefferson.

Jefferson, after the Vikings kicked a field goal in the first quarter to get the day started, hauled in a ridiculous 97-yard touchdown pass in the second quarter. It was the longest catch of Jefferson’s career, and it moved him past the 6,000-yard mark. Jefferson matched the fastest pace to reach 6,000 career receiving yards in NFL history, too.

Jefferson ultimately left the game late in the third quarter with a quad injury after he awkwardly collided with 49ers DE Nick Bosa. He finished with 133 yards and a touchdown on four catches. Jefferson was diagnosed with a quad contusion after the game, and he's being considered day-to-day.

"I'm not seriously injured," Jefferson said, via ESPN's Kevin Seifert. "So that's the main important thing. So it's just all about getting to the training room, making sure my body is right for next week, and I'll be ready to go next Sunday."

Though George Kittle scored his first touchdown of the season on a 7-yard toss from Brock Purdy later in the second quarter, the Vikings kicked one last field goal to take a 13-7 lead into the break. Then, after Josh Matellus intercepted Purdy in the third quarter, Vikings quarterback Sam Darnold hit Jalen Nailor for a 10-yard score to put them up 20-7.

The 49ers made it a one-possession game early in the fourth quarter after Purdy mounted a 12-play, 99-yard touchdown drive that started after the Vikings' Aaron Jones fumbled at the half-yard line. Jordan Mason ran in a 10-yard touchdown on that drive, which pushed him over the 100-yard mark for the game.

But Darnold closed out the game with a long drive that lasted nearly seven minutes before Will Reichard hit his third field goal to all-but seal win for the Vikings. The 49ers marched down the field quick after that and kicked a field goal to make it a one possession game again, but they missed the onside kick. That gave the Vikings the six-point win.

Purdy went 28-of-36 for 319 yards with a touchdown and an interception for the 49ers. Kittle, who was carted off the field due to dehydration before returning after receiving an IV in the second half, had 76 yards on seven catches. Deebo Samuel finished with 110 receiving yards on eight catches, too.

The 49ers placed McCaffrey on injured reserve on Saturday due to a calf injury and Achilles tendinitis. That knocked him out of their season-opening win over the New York Jets on Monday, and will now be out until at least Week 6. Mason shined in McCaffrey’s absence in Week 1, where he racked up 147 rushing yards and a touchdown on 28 carries. He finished with 100 yards and a touchdown on 20 carries on Sunday.

Darnold went 17-of-26 for 268 yards with two touchdowns and an interception for the Vikings. Ty Chandler had 82 rushing yards on 10 carries, and Nailor added 52 receiving yards and a touchdown on three catches to follow Jefferson’s performance. The Vikings, who blew out the New York Giants 28-6 last week, will host the Houston Texans next week. A win there would give them their first 3-0 start since 2016.