Christian McCaffrey became the 11th player in NFL history with a rushing touchdown, a passing touchdown and a receiving touchdown in one game, and the San Francisco 49ers extended their regular-season mastery over the Rams to four full years with a 31-14 victory over Los Angeles on Sunday.
McCaffrey threw a 34-yard TD pass to Brandon Aiyuk in the first half, caught a TD pass from Jimmy Garoppolo in the third quarter and then put the Niners (4-4) in control with a TD run early in the fourth.
Garoppolo passed for 235 yards and two touchdowns as San Francisco scored 24 unanswered points to finish its eighth consecutive regular-season victory over its NFC West rivals.
McCaffrey finished with 94 yards rushing and 55 yards receiving. LaDainian Tomlinson was the last player with rushing, passing and receiving TDs in the same game, doing it for San Diego back in 2005.
Get Southern California news, weather forecasts and entertainment stories to your inbox. Sign up for NBC LA newsletters.
The 49ers outbid the Rams (3-4) last week in a trade for McCaffrey’s services, and the versatile running back showed Los Angeles exactly what it missed. The Rams actually were burned by McCaffrey for the second straight game, since he piled up 158 total yards for the Panthers during the Rams’ win over Carolina in LA's final game before its bye.
After trailing 14-10 at halftime despite McCaffrey's 34-yard TD pass, the 49ers reclaimed the lead late in the third quarter with an 88-yard drive capped by McCaffrey’s artful TD catch down the sideline. McCaffrey then made a 24-yard run followed by a 1-yard score with 12:07 to play, and George Kittle made a late TD catch to seal the Niners' latest humiliation of the Rams despite the injury absence of star Deebo Samuel.
Los Angeles narrowly beat San Francisco in the NFC championship game at SoFi Stadium exactly nine months ago, but the Niners have won every other meeting since 2018.
Get today's sports news out of Los Angeles. Here's the latest on the Dodgers, Lakers, Angels, Kings, Galaxy, LAFC, USC, UCLA and more LA teams.
Matthew Stafford passed for 187 yards and scored his first rushing touchdown since 2016 for the defending Super Bowl champion Rams (3-4), who are under .500 for the third time — all occurring this season — in coach Sean McVay’s career. Los Angeles managed 43 net yards in the second half while getting shut out after halftime for the third time already this season.
McVay has lost nine of his 13 matchups with Kyle Shanahan, his former co-worker in Washington, since they got their current jobs one month apart in 2017. Shanahan got nearly 21% of his 43 career regular-season victories when coaching against McVay.
Cooper Kupp had eight catches for 79 yards and a touchdown, but the Rams All-Pro left the field gingerly after an awkward tackle with 1:02 to play.
The Rams scored first when Stafford's 1-yard run capped a 17-play, 88-yard drive consuming 9:21.
The Niners tied it a few minutes later on McCaffrey's TD pass off a fake screen. Samuel threw a TD pass against the Rams last season.
Four key starters were inactive for the Niners: Samuel, DT Arik Armstead, FB Kyle Juszczyk and LB Dre Greenlaw.
Rams TE Tyler Higbee injured his neck while making a catch in the first quarter, but returned in the second. He made an egregious drop in the fourth quarter. ... WR Van Jefferson was not targeted in his season debut after having knee surgery early in training camp.
49ers: Bye week.
Rams: At Buccaneers on Sunday.