The San Francisco 49ers earlier this month experienced one of their lowest regular-season moments under head coach Kyle Shanahan. They lost Nov. 7 to the division-leading Arizona Cardinals, who were starting backup Colt McCoy at quarterback and they were without star receiver DeAndre Hopkins. The defense missed tackles throughout while the offense turned the ball over three times and managed just nine carries for 39 yards.
It was an odd game script for Shanahan, who’s become known as one of the most run-happy play-callers in the NFL. When the 49ers were peaking during their Super Bowl season in 2019, they ran at the second-highest rate in the league — only behind the Baltimore Ravens, who had a 1,000-yard rusher in quarterback Lamar Jackson.
Shanahan said after that loss to Arizona earlier this month that throwing the ball was the clear choice in that game. Because the Cardinals had six players on the line of scrimmage, as opposed to the normal four, there were often two fewer players in coverage. “We were going to keep doing that to make them pay for doing it,” he said. The results of that 31-17 loss at Levi’s Stadium, that pushed their record to 3-5, spoke for themselves.
Fast forward to Sunday in a pivotal game against the Minnesota Vikings, who shared the same 5-5 record as San Francisco. The 49ers turned back the clock to 2019, yet again, continuing a trend of their current three-game winning streak: Shanahan has a willingness run the ball no matter what the defense is doing, even if there are eight or nine defenders near the line of scrimmage.
In their 34-26 victory over Minnesota Sunday, the 49ers rushed for a season-best 208 yards, a week after setting their previous high of 171 in their beat 20-point thumping in Jacksonville. The Vikings often had five guys on the line of scrimmage, two or three linebackers at the second level and safety Harrison Smith in the box. But that didn’t stop Shanahan from dialing up running plays, which comes in stark contrast to that loss to Arizona when the defense dictating his decision making.
Not including a pair of Jimmy Garoppolo kneel-downs at the end, the 49ers ran the ball 37 times Sunday, following up 44- and 42-attempt performances in their last three games. Shanahan’s team averaged 26 carries during their four-game losing streak from Weeks 3 to 7, which doesn’t include the nine they had against the McCoy-led Cardinals.
49ers offense gets a push
So what’s changed?
“It starts up front with the O-line, those guys set the tone for us and they always have, always will,” Garoppolo said.
Said running back Elijah Mitchell, who had 133 yards on 27 carries with a touchdown: “Really I gotta give it up to the O-line, the receivers on the edge, and Kyle and Mike (McDaniel) calling great plays.”
Shanahan said after beating the Rams, the first game of the winning streak, the goal was to rush 40 times, which continued in Jacksonville. This week he knew the running game was going to be important in keeping the Vikings offense and its playmakers — Justin Jefferson, Adam Thielen and Dalvin Cook — off the field. But it’s also important just for scoring points.
“It wasn’t going to be just about controlling the clock,” Shanahan said. “We were going to have to get some yards to score some points ... guys made some big plays. The (defense) got those two turnovers in the second half, which were huge and we were able to pull it out.”
Indeed, the offensive line paired with the return of tight end George Kittle — who missed three of the team’s five losses with a calf injury — is helping the running game, allowing Shanahan to return to his identity as a play-caller with this version of the 49ers. The receivers are blocking, led by physical newcomer Jauan Jennings, who also scored a touchdown, while Brandon Aiyuk got into minor scuffles with Patrick Peterson and Mackensie Alexander because of his physical blocking.
Vikings angry at no holding calls
Turns out Peterson and Alexander weren’t the only members of the Vikings who were frustrated. Head coach Mike Zimmer had a few complaints about the officials and their unwillingness to throw flags on San Francisco, particularly on the runs to receiver Deebo Samuel (who had six carries for 66 yards and two touchdowns).
Zimmer said his defense was misaligned one one of Samuel’s scores. He blamed Samuel’s other runs on: “the fact these guys hold all the time, so they are grabbing us around the waist, grabbing our backs, and you know officials, they don’t want to call it every play. Until they start calling every play, they’re not going to stop doing it.”
The 49ers were penalized five times for 57 yards, including a pair of holding calls on left guard Laken Tomlinson. Minnesota was penalized five times for 38 yards.
Kittle was asked about Zimmer’s accusation afterwards.
“Refs throw flags, refs don’t throw flags,” Kittle said. “It’s just the game. If you’re gonna sit on the sideline and complain about holding the whole time, tell your guys to make better plays.”
So much for the once-dead 49ers who lost their run-first identity. After falling to 3-5 after that low point loss three weeks earlier, the 49ers now sit in the No. 6 seed in the NFC playoff race after beating Minnesota.
San Francisco’s badly-needed victory came the same week a slew of NFC playoff teams lost, putting the 49ers in a favorable position with six weeks remaining.
The NFC playoff picture
NFC East-leading Dallas (7-4) and wild card hopeful New Orleans (5-6) fell on Thanksgiving, the Eagles dropped to 5-7 to the Giants and Carolina (5-7) lost to Miami. Even the NFC West rival Rams lost their third straight, a streak started in Santa Clara, and moved to 7-4. The only NFC team in the mix to win this week was the Atlanta Falcons, who improved to 5-6 after beating Jacksonville but are still behind Minnesota, who dropped to the No. 7 seed.
That leaves the 49ers in the catbird seat for a playoff spot. According to FiveThirtyEight.com, the 49ers before the game had a 52% chance to make the postseason. A win over Minnesota (not factoring the other losses from NFC teams) would have pushed San Francisco’s probability to 69%. A loss: 27%.
That all speaks to how big a victory it was Sunday, with a trip to Seattle upcoming. Shanahan said after the game he was unaware of what was happening to other teams in the playoff standings.
“It’s way too early to care,” he said. “You look at that stuff at the end of the day but what we have left (is) six games. There’s a lot left to be played.”
Indeed, the 49ers have six games remaining with three coming against teams above .500 (at Bengals, at Titans, at Rams). On Sunday they won their first game in which Garoppolo threw an interception (they were 0-4 coming in) and they won the turnover battle, 2-1, against a team that entered the weekend with the fewest giveaways in the NFL. They also survived giving up a kickoff return touchdown and missed a late field goal from Robbie Gould.
It was a much more exciting game than the blowouts of the last two weeks. Though the 49ers will have to see about the injuries to linebacker Fred Warner (hamstring) and Samuel (groin), who left the game and will undergo more testing Monday.
“I think we have definitely played our best football these last three games,” Shanahan said. “I thought this one was a huge one because it’s a little bit different than the last two because it came down to the wire.”