There are generally few surprises when the 49ers and Rams play.
These teams are as familiar with each other as any two teams in the NFL. But with Deebo Samuel leading the list of big-name absences for San Francisco, Christian McCaffrey took the mantle, and Los Angeles by surprise in a 31-14 second-half steamrolling on Sunday.
It is not often that you can say one player took over a game. And it would be incorrect to dismiss what the 49ers defense did in the second half. Their ability to shut down the Rams on a couple key third downs changed the game on its head.
But this was the Christian McCaffrey show.
It started early.
The 49ers’ first drive stalled out with Jalen Ramsey nearly intercepting Jimmy Garoppolo, and the Rams responded with a 17-play, 85-yard touchdown drive that took advantage of a defensive hold and pass interference inside the 10-yard line.
That was too many opportunities for the Rams, who capped it with a Matt Stafford helicopter dive into the end zone.
Kyle Shanahan turned towards his new acquisition for some trickery on the next drive.
McCaffrey rolled out, waited, and baited the Rams’ defense, finding a wide open Brandon Aiyuk — who made a nice adjustment — for a passing touchdown. It’s the second time in four games against the Rams that the 49ers have had a non-QB throw a passing touchdown; Deebo Samuel helped punch the team’s playoff ticket with a TD pass to Jauan Jennings back in January.
But the 49ers didn’t run away with the game at that point.
Stafford found Cooper Kupp — who had seven catches for 73 yards and a TD in the first half — running past Oren Burks for a TD.
The 49ers had the makings of a nice response drive before a Jimmy Garoppolo sack, and were forced into a field goal. They went down 14-10 at the half.
But their time in a deficit would not last much longer.
After an ugly opening drive to the second half, in which Garoppolo nearly threw another pick to Jalen Ramsey, the 49ers took over.
The offense started rolling, but it was the defense’s ability to put pressure on Stafford and get the Rams’ offense off the field that changed things.
After allowing the Rams to convert six-straight times on third downs — two of them brutal completions to Allen Robinson II — the defense buckled down.
Los Angeles punted once in the first half, with two touchdowns. They punted on every single possession of the second half.
And while the 49ers offense has struggled to capitalize on stellar performances from the defense in prior games, they didn’t waste their chances on Sunday.
On three-straight drives in the second half, the 49ers responded to Rams punts with touchdowns.
The first of those drives was maybe the most impressive and clinical we’ve seen from this offense this season. It was an 11-play, 88-yard touchdown drive, featuring touches to McCaffrey, Jeff Wilson Jr., Brandon Aiyuk and Tyler Kroft.
An issue with Danny Gray and Ray-Ray McCloud getting off the field threatened the end of the drive, with the 49ers getting plays in late on first and second down.
But then this happened on third down:
Jimmy Garoppolo waited, bought time, then took a hole shot, finding McCaffrey behind Nick Scott for a leaping touchdown. It gave the 49ers their first lead of the game and they didn’t show any signs of relinquishing it again.
Their very next drive finished McCaffrey’s trifecta. He found himself, a running back, in the end zone for the first time as a runner.
He became just the 11th player in NFL history to throw, rush and receive a touchdown in a single game. He’s the first since LaDainian Tomlinson in 2005 and just the third since the 1979.
McCaffrey had 34 yards passing, one passing TD, 18 carries for 94 yards and a rushing TD, and eight receptions for 55 yards and receiving TD.
It was an outrageous performance from him and the best the 49ers’ offense has looked all year.
Once again, a matchup with the Rams, and a home-like crowd on the road, proved to be a salve for the 49ers’ woes. They enter a bye week at 4-4, having beaten the Rams twice, and with a 3-0 record in the NFC West.