Skip to main content
Sports

49ers grades: How Mac Jones and Co. pulled off an upset in Los Angeles

Brock Purdy’s backup turned in a memorable performance to lead a short-handed 49ers’ offense past a division rival.

A football player in a white and red uniform throws the ball while a defender in blue and yellow tries to block, and another player in white blocks the defender.
Mac Jones threw for more than 300 yards and added two touchdowns in a win on Thursday night. | Source: Ronald Martinez/Getty Images

Want more ways to catch up on the latest in Bay Area sports? Sign up for the Section 415 email newsletter here and subscribe to the Section 415 podcast wherever you listen.

How clutch are the 49ers?

Consider that they’re the only team since at least 1940 without a defensive interception and rushing touchdown through five weeks — yet, after Thursday’s 26-23 overtime thriller over the Los Angeles Rams, they’re 4-1.

Or consider the fact that, out of their 15 carries on Thursday, the Rams failed to gain a yard just once: On their final attempt, the decisive fourth-and-short.

In a game in which the Rams racked up 457 yards, the 49ers stonewalled and turned over L.A. twice in late-game spots with just one yard to spare.

A white trophy cup with two handles sits against a red and black background, with a white sparkle shape appearing near the top left corner.

Subscribe to Section 415

News, gossip, and inside-the-locker-room access for Bay Area sports fans, every Friday and Monday.

In the highest leverage moments, the 49ers were masters. And this wasn’t the first time. It’s been a theme of all four 49ers’ wins in this 2025 season.

Here are snap counts and grades from Thursday.

Quarterback: Mac Jones (86 snaps)
Game grade: A

At one point, Jones dry heaved on the sideline. At another juncture, he was favoring his knee in a crumpled heap after taking a vicious hit from Rams edge rusher Byron Young. Then, near the end of this 86-snap marathon, Jones’ forearm cramped up — so he started eating bananas on the sideline. Coach Kyle Shanahan actually called a play for 49ers’ backup QB Adrian Martinez, but Jones made it back to the huddle in time for the next snap.

This was a gutsy performance evocative of Jimmy Garoppolo’s best work with the 49ers, which came when Shanahan employed a similar short-throw, hog-the-ball game plan. (Fittingly, Garoppolo watched Jones in person — he’s L.A.’s backup.)

Brock Purdy is still clearly the 49ers’ best option at quarterback. Thanks in large part to his superior mobility, Purdy ranks in the top-5 of adjusted efficiency metrics despite playing most of his two games hurt this season, while Jones has been a top-15 performer.

But Jones gives the 49ers a rare luxury: Breathing room to allow for Purdy to heal in toe-tality.

Running back/fullback: Christian McCaffrey (76), Brian Robinson Jr. (12), Kyle Juszczyk (36)
Game grade: A

The 49ers averaged only 2.2 yards per carry this game. Shanahan said it felt like they were repeatedly “running into a brick wall”. But it wasn’t McCaffrey’s fault. He was fantastic, primarily through his eight high-leverage catches for 82 yards. McCaffrey forced 12 missed tackles, the best number of his career.

And even with the lack of running room, he’s on track for his second 1,000-1,000 (rushing and receiving yards) season. And yes, running room does figure to open up for the 49ers — they’re clearly missing tight end George Kittle’s blocking presence, among other things.

A football player in a white and red uniform leaps towards the end zone while a player in blue tries to tackle him mid-air.
Christian McCaffrey has been a critical weapon in the 49ers’ passing game this season. | Source: Harry How/Getty Images

Wide receiver: Demarcus Robinson (73), Kendrick Bourne (70), Marquez Valdes-Scantling (46), Skyy Moore (8), Malik Turner (6)
Game grade: A

Robinson made three big catches against his former team, helping set the table for Bourne to go off in an unprecedented way — 10 catches, 142 yards.

Four players have logged 10-plus catches and 100-plus receiving yards in a game this season: Puka Nacua, Justin Jefferson, Ja’Marr Chase and… Bourne, whose previous career high was 100 yards on six catches in 2022.

Bourne said that Jones — who knows him well from the time the two spent together in New England — helped him rebound from Sunday’s three-drop performance against Jacksonville.

“It’s important to have guys like that, encouraging you to move on and ball out,” Bourne said. “You can feel it.”

A 49ers player, number 84, points to his helmet while running, with two Rams players, including number 53, in the blurred background.
Kendrick Bourne tied a career-high in receptions and set a new career-high in receiving yards. | Source: Ronald Martinez/Getty Images

Tight end: Tonges (45), Luke Farrell (32), Brayden Willis (2)
Game grade: A

Kittle is a “long shot” to return for Week 6 against Tampa Bay, Shanahan said. But he’ll likely be back for the following game against the Atlanta Falcons.

In the meantime, Tonges continues to do a sensational job holding down the fort as a receiver. He added seven more catches to his tally. When Kittle does return, perhaps the 49ers will have their first legitimate No. 2 receiving threat at tight end since Jordan Reed in 2020.

Offensive line: Trent Williams (86), Connor Colby (86), Jake Brendel (86), Dominick Puni (86), Colton McKivitz (86)
Game grade: C

The 49ers’ O-line is a lightning rod for debate. They grade well cumulatively, but inconsistency on the individual level has hurt their progress (Colby, in particular, has struggled and therefore made Williams’ job harder). L.A. boasts one of the best defensive fronts in football, and over Jones’ 49 pass attempts, the Rams had plenty of chances to tee off on the pass rush.

Some reps, like when Young blew by McKivitz in the red zone, were downright ugly. Others, like the many times L.A. star Jared Verse locked horns with Williams, were spectacular football theatre.

In the end, the 49ers played this to enough of a draw to allow for Jones’ 342-yard performance. The quick-release game plan was necessary, though.

Defensive line: Mykel Williams (47), Bryce Huff (40), Jordan Elliott (40), Kalia Davis (7), Yetur Gross-Matos (11), Sam Okuayinonu (51), Alfred Collins (40), CJ West (28), Trevis Gipson (8)
Game grade: B-

The 49ers pressured Stafford on only 20% of his drop backs and they also allowed nearly five yards per carry to the Rams.

The 49ers’ line is nothing close to a dominant unit. It is, however, an opportunistic one — and that’s a marquee story of this young season.

The 49ers have stuffed a higher percentage of short-yardage runs than any other defense in the NFL and they were absolute money in the biggest moments late. Collins, whose punch out and recovery raised the 49ers’ win probability a staggering 57%, sprained his knee and is day-to-day.

As injuries continue to mount — Kalia Davis (broken hand) and Yetur Gross-Matos (hamstring) are both expected to miss multiple games — expect the 49ers to make at least one move here over the next month. They owe it to the locker room.

Linebackers: Fred Warner (68), Dee Winters (68)
Game grade: B

Winters had his roughest game of the season, allowing nine catches on 11 targets in coverage. It’s been much tougher sledding for Winters after two excellent games to start the season. Warner, meanwhile, is churning on as the highest-graded player in the NFL. No one was happier than the future Hall of Famer in the victorious locker room.

A football player in a 49ers uniform, number 54, smiles broadly and poses while photographers capture his celebration on the field.
Fred Warner is playing at an extraordinarily high level through the first five weeks of the season. | Source: Jessie Alcheh/Associated Press

Safeties: Jason Pinnock (68), Marques Sigle (68), Ji’Ayir Brown (12)
Game grade: C-

Good news for the 49ers: Malik Mustapha is set to practice again next week. The team will have three weeks to activate him from the physically unable to perform (PUP) list. Mustapha, who was one of the best safeties in football as a rookie, tore his ACL in the final game of last season.

Mustapha can immediately augment a unit that has fought through some growing pains. Sigle has been a missile against the run – he was in on the game-sealing stop — but opponents have been successfully targeting him in the pass game (he gave up 138 yards in coverage). Perhaps Mustapha can gradually work his way back into a full-time role by splitting snaps with Sigle.

Cornerbacks: Deommodore Lenoir (68), Renardo Green (68), Upton Stout (43), Chase Lucas (18)
Game grade: C

Lenoir got the tip of his finger on a ball in overtime for a pass breakup that might’ve saved the game for the 49ers. Green also played well, notching a sweet pass breakup against Rams receiver Davante Adams. In fact, only 55 of Stafford’s 389 passing yards went into the coverage of the 49ers’ two outside cornerbacks.

More damage came against Stout, who suffered a low ankle sprain and was replaced by Lucas — who identified L.A.’s fourth-down run to help seal the win.

Special teams grade: A

Last week in this section, I wrote “this was an abomination.”

This week, the opposite was true. Eddy Piñeiro drilled four field goals, including a career-long 59-yarder. And the Rams, whose special teams unit was ranked worse than the 49ers entering the game, lived up to that billing.

How about that?

David Lombardi can be reached at [email protected]