Skip to main content
Sports

The 49ers are off to a terrible start — but they’ve been through worse

It's all about perspective early in an NFL season — especially when it comes to the 49ers, who have a track record of starting slow.

A football player wearing a red jersey and white pants, marked with number 97, stands on the field in action, sporting a gold helmet with a team logo.
“This organization, since Kyle [Shanahan] has taken over, has found ways to win,” Nick Bosa said. Just not this year. | Source: Michael Owens/Getty Images

Over the first five weeks of this season, the San Francisco 49ers have snatched defeat from the jaws of victory in a pair of divisional games.

The first collapse came in Week 3 against the Los Angeles Rams. The second came Sunday, when the 49ers wilted in the heat against the Arizona Cardinals, on their way to a 24-23 defeat.

Such struggles are out of character for the 49ers, but they aren’t without precedent. Defensive lineman Nick Bosa has been around the 49ers since 2019, when coach Kyle Shanahan first fielded a winning team, and he succinctly summarized that duality after Sunday’s loss.

“This organization, since Kyle has taken over, has found ways to win,” Bosa said. “If you’re turning the ball over and you’re not making those plays on defense in those crucial moments, you’re going to lose in the NFL. I haven’t lost any confidence in the team. It’s early. It’s a long year. We’ve been through worse, and I think we’ll respond well.”

The data corroborate Bosa’s point: The 49ers have been through worse. They started 2021 at 3-5; the following year, they began 3-4. They reached the NFC Championship Game in both seasons.

What’s more, at their nadirs in those seasons, the 49ers were performing significantly worse in most metrics than they are now.

These EPA (expected points added) ranks are taken from the low points in three of the last four seasons: when they were 3-5 in 2021, 3-4 in 2022, and 2-3 this year.

Sure, there was major early instability at quarterback in the past. Jimmy Garoppolo started in the driver’s seat to begin 2021 but suffered a Week 4 injury, giving way to rookie Trey Lance. In 2022, Lance took the No. 1 spot to begin the season but broke his ankle in Week 2, so Garoppolo replaced him. Brock Purdy, who has since given the 49ers true stability at QB, wouldn’t splash onto the scene until much later in his rookie 2022 season.

But that context is useful only for the offensive rankings, and it’s worth emphasizing that the established presence of Purdy is the 49ers’ most valuable asset now. They didn’t have this luxury at the most important position when righting the ship from previous struggles.

The defensive rankings might provide useful perspective. Despite the 49ers’ early-2024 struggles, the 2021 defense — which was also breaking in a new defensive coordinator — was much worse than the current unit. And even the 2022 defense, which finished ranked No. 1 in the NFL, wasn’t much better at its low point than what the 49ers have delivered so far this season.

This all lends support to Bosa’s thesis statement. It’s early. It’s a long year. And the 49ers have indeed been through worse. We’ll see how they respond this time.

Here are the rest of the grades from the 49ers’ loss

Quarterback: Purdy (64 snaps)
Game grade: C

Neither of his interceptions were clean picks, but Purdy’s self-critique of his red-zone performance — “I’ve got to be better and more aggressive down there” — also applies to those giveaway plays. He was late on multiple deliveries to tight end George Kittle. Arizona also successfully eliminated the 49ers’ deep attack. Against New England the week prior, 22.2% of Purdy’s attempts went deep. He tried that only 2.9% of the time against the Cardinals.

Running back/fullback: Jordan Mason (41), Isaac Guerendo (9), Kyle Juszczyk (40)
Game grade: D

Arizona ran aggressive run-stopping fronts early, guiding the 49ers into a pass-oriented game. They counted on wearing the Cardinals down over the hot afternoon. That plan seemed to be working as Mason picked up steam down the stretch — until he fumbled while the 49ers were close to sealing the game. Mason had dropped two exchanges from Purdy the week prior, but the 49ers maintained possession both times. They weren’t as lucky Sunday. Mason’s fumble couldn’t have come at a worse time.

Wide receiver: Brandon Aiyuk (59), Deebo Samuel (52), Jauan Jennings (36), Ronnie Bell (10), Trent Taylor (2)
Game grade: C+

Aiyuk has had a month to acclimate following the end of his contract hold-in. Given that, the timing of his splashy game, featuring eight catches for 147 yards, isn’t surprising. Aiyuk featured a full yard more of separation at the time of catch than he had over September, per NFL Next Gen Stats. But the 49ers saw only two combined receptions for 24 yards from Samuel and Jennings, who appeared to be suffering from a hand injury throughout the game. This lack of production contributed to the 49ers’ 1-for-6 finish in the red zone. They now rank No. 30 in red-zone touchdown rate.

Tight end: George Kittle (58), Eric Saubert (13)
Game grade: B+

Kittle caught eight passes for 64 yards, including a rumbling third-down conversion that set the 49ers up for a potential kill late in the game. He did drop a pass earlier, but the 49ers quickly made up for it with a long Mason run. Kittle is a consistently good run blocker and was open on both plays that ended in Purdy interceptions. Tight end was not a problem for the 49ers on Sunday.

Offensive line: Colton McKivitz (64), Dominick Puni (64), Jake Brendel (64), Aaron Banks (64), Trent Williams (64)
Game grade: B

The line allowed a typical amount of pressure, but Purdy escaped without being sacked. There were no inexcusable protection issues in this game, and the 49ers did ultimately establish a foothold running the ball. That’s the good news. The bad news is that Arizona presented the worst defensive front the 49ers will see in quite some time. More daunting challenges against the Seattle Seahawks and Kansas City Chiefs are next.

Defensive line: Bosa (45), Maliek Collins (38), Leonard Floyd (36), Jordan Elliott (28), Kevin Givens (25), Sam Okuayinonu (24), Kalia Davis (19), Robert Beal Jr. (13), T.Y. McGill (11)
Game grade: B

The 49ers allowed Arizona running back James Conner to rack up a devastating 51 yards on 5.9 yards per carry in the fourth quarter. But that might be more of an indictment against the offense, which went scoreless in the second half and repeatedly turned the ball over to hang the defense out to dry, with the temperature soaring toward triple digits. Over the first half, the 49ers allowed Conner to rush for only nine yards. Their pass-rush get-offs — especially Floyd’s — were also impressive. Don’t forget Bosa’s interception, which was evocative of his 2019 pick against the Carolina Panthers.

Linebacker: Fred Warner (58), De’Vondre Campbell (58), Dee Winters (26), Tatum Bethune (4)
Game grade: C-

Unlike the Patriots, Arizona didn’t give Warner any opportunities to take over the game. Beyond that, the Cardinals picked on the 49ers’ weakness while missing linebacker Dre Greenlaw. Campbell couldn’t shed a block to stop Arizona QB Kyler Murray on his 50-yard zone-read touchdown, and he allowed four catches on four targets in coverage. On the plus side, Winters registered the most snaps of his NFL career. He was solid in coverage and even administered a thumping hit.

Defensive back: Ji’Ayir Brown (56), Deommodore Lenoir (56), Charvarius Ward (55), Malik Mustapha (47), Isaac Yiadom (27), Talanoa Hufanga (11), George Odum (1), Renardo Green (1)
Game grade: C+

Hufanga bit too hard on Murray’s early zone-read fake, then exited the game with a wrist injury; Shanahan did not have an update on his status during a Monday-morning conference call. The 49ers may need to start Mustapha, who delivered a well-timed hit to break up a Murray pass but missed two tackles in the run game, Thursday in Seattle. Ward allowed the most damage in the pass game, giving up three catches for 67 yards. And although Arizona victimized Yiadom with receiver Marvin Harrison Jr. on a critical fourth down, it took a sensational throw from Murray. Yiadom had notched an earlier pass breakup against Harrison and looked as good as ever in a 49ers uniform. The biggest issue: The 49ers missed 12 tackles, with DBs accounting for six.

Special teams: Elliott blocked a field goal that Lenoir returned for a touchdown. Kicker Jake Moody suffered a high ankle sprain while trying to make a tackle in kick coverage. Odum led the way with two tackles on special teams.
Game grade: A-

This was the opposite of the previous three weeks: The 49ers enjoyed a splash play in their favor from the special teams unit when Elliott blocked that kick. That generated a 10-point swing that typically would’ve been enough for the 49ers to win. But Moody’s injury, which happened on the subsequent kickoff, threw a major wrench that helped derail the 49ers.

They’re hosting four kickers for tryouts on Monday. One will sign with the team to fill in for Moody. There’s a chance he’ll line up to attempt a big field goal Thursday night in Seattle, with the division lead on the line.

David Lombardi can be reached at dlombardi@sfstandard.com