INGLEWOOD, Calif. -- - Christian McCaffrey caught the backward screen pass from Jimmy Garoppolo, took a few steps and lofted a beautiful throw over Los Angeles' baffled defense into the arms of Brandon Aiyuk.
And McCaffrey was just getting started in showing the Rams what they missed out on when they lost him to the grateful San Francisco 49ers.
McCaffrey became the 11th player in NFL history with a rushing touchdown, a passing touchdown and a receiving touchdown in one game, and the 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 that 34-yard TD pass in the first half. He caught a 9-yard TD pass from Garoppolo in the third quarter and then put the Niners (4-4) in control with a TD run early in the fourth. The running back finished with 94 yards rushing and 55 yards receiving in another brilliant all-around game highlighted by his second career scoring throw.
"Both of my little brothers are quarterbacks, so I learned a lot from them," McCaffrey said with a smile. "I used to always want to play quarterback just because it was the best position. ... It helps when someone is wide open as well."
The 49ers outmaneuvered the Rams (3-4) 10 days ago with a superior trade offer to acquire McCaffrey, who torched Los Angeles both before and after those negotiations. He piled up 158 total yards for the Panthers during the Rams' win over Carolina in LA's final game before its bye.
"He plays our style, and he's only going to get better and better," 49ers defensive end Nick Bosa said of McCaffrey.
LaDainian Tomlinson was the last player with rushing, passing and receiving TDs in the same game, doing it for San Diego back in 2005. Only four players have done it since 1970.
"That's awesome," McCaffrey said of his historic achievement. "Obviously those things are really cool. I think the biggest thing is coming out with a win, and playing the second half like that, too. I think the thing I'm most happy about is just this whole team welcoming me in with open arms."
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 rival. McCaffrey last threw a TD pass for Carolina in 2018, and Niners coach Kyle Shanahan decided to try it again in only his second game with his new playmaker.
"It's a play a lot of people do," Shanahan said of McCaffrey's TD throw. "What makes it work is Christian is so good at (pretending to be) running on that play. ... I remember Thursday night when we were doing the red zone (game planning), me yelling, 'Does anyone know if Christian can throw?'"
After trailing 14-10 at halftime, 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.
George Kittle made a late TD catch to seal the Niners' latest humiliation of the Rams despite the injury absence of star Deebo Samuel, who threw a TD pass against the Rams at SoFi Stadium last season.
San Francisco's defense held the Rams to 58 yards in the second half, and the Niners' stars continued their tradition of rubbing it in after beating LA.
"I was kind of surprised when they gave up a little early, maybe six or seven minutes left and they ran the ball on third down," Bosa said. "I was hoping for some more pass rushes there, but I guess they didn't have confidence in coming back."
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.
"They outplayed us," Rams coach Sean McVay said. "It doesn't have anything to do with all the history, whatever it was. They outplayed us in the second half. We didn't make enough plays, and there's things that we can all do collectively to be a better part of it."
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 McVay's career. Los Angeles has been shut out in the second half of three home losses this season.
"It was a nice first half," Stafford said. "Played well. Just didn't do enough in the second half to give ourselves a chance."
Cooper Kupp had eight catches for 79 yards and a touchdown, but the Rams' awful day got even worse when the All-Pro left the field gingerly after injuring his right ankle on an awkward tackle with 1:02 to play.
"Right now things are pointing towards dodging a bullet, so hopefully that's the case as we move forward here," Kupp said.
KYLE OVER SEAN
McVay has lost nine of his 13 matchups with Shanahan, his former co-worker in Washington, since they got their current jobs one month apart in 2017. Shanahan is nine games below .500 in his coaching career against every team other than the Rams.
49ers: Bye week.
Rams: At Tampa Bay next Sunday.