Another week and another lackluster performance from a San Francisco 49ers team that was 5-0 three weeks ago. It now sits at 5-3 and in second place in the NFC West after a 31-17 loss to the Cincinnati Bengals.
In what feels like the trend, the 49ers were able to hang around all game, keeping Cincinnati within one score in the second half before a pair of turnovers resulted in San Francisco’s first three-game losing skid since 2021.
Maybe one week, we can return to having more winners than losers, but this week it’s three winners and three losers, with one of the winners feeling like a loss:
Loser: QB Brock Purdy
Two plays in almost identical situations were microcosms of the type of day each quarterback had on Sunday.
Bengals quarterback Joe Burrow used a hard count to try to draw the 49ers offside before the clock expired to end the first quarter. Javon Kinlaw bit and Burrow snapped the ball with a second left and found Andrei Iosivas in the end zone to put Cincinnati up 14-7 to end the first quarter.
At the end of the third quarter, Brock Purdy stood at the Bengals 13-yard-line with San Francisco trailing by seven. Five seconds separated the game and play clock, forcing Purdy to snap the ball with 12 seconds left in the quarter.
Kyle Shanahan said after the game that Purdy was supposed to hand the ball to Elijah Mitchell, but the quarterback kept the ball before rolling out to his right. He tried to float a pass to Mitchell with Sam Hubbard and Germaine Pruitt in pursuit, with Pruitt reaching a hand out and intercepting the pass, killing another 49er drive inside the red zone.
The defense came up clutch, forcing a three-and-out, holding the Cincinnati lead at seven and giving Purdy another chance.
Purdy took that opportunity and threw an interception on the first play of the next drive, this time directly to Logan Wilson. Burrow would hit Ja’Marr Chase for a 17-yard touchdown on what would be the game-winning touchdown.
While Purdy finished with a career-high 365 yards and a touchdown, the second-half interceptions have become the story. Over the 49ers now three-game losing streak, Purdy has thrown for five interceptions, with all five coming in the second half with the 49ers within one score, and the second consecutive week he’s thrown two second-half interceptions.
Purdy’s numbers were boosted by a few explosive plays to the likes of Brandon Aiyuk and George Kittle, but for the third week in a row, the quarterback couldn’t make the big play, and that’s a cause for concern.
Loser: the 49ers run game
The Bengals’ defense entered Levi’s Stadium ranked 29th in the league against the run, and in the box score, the 49ers were successful as a team running the ball. It finished with 113 rushing yards - its most since Week 5 - on 23 attempts.
That number tells a bit of a lie about how successful the 49ers run game was on Sunday. Remove Purdy’s massive game on the ground, and you’re left with 17 attempts for 56 yards from the 49ers running backs.
The opening drive felt like a tone-setter for the backfield. Christian McCaffrey gained eight yards on the first play of the game - his first of only three carries to gain more than five yards all game - followed by a McCaffrey run for a yard on second down before Kyle Juszczyk would get stuffed for no gain on third-and-1, forcing an opening drive three-and-out.
The offensive line wasn’t much help, being called for holding on a pair of McCaffrey first-down runs, but the lack of production from the run game - especially against such a poor run defense - is becoming a cause for concern. McCaffrey has just 193 yards on 57 carries over his last four games, just 3.4 yards per carry for a running back who has averaged 4.6 carries since the 49ers acquired him.
Mitchell has finished his last three games with more carries than rushing yards. His three attempts for two yards dropped his yard-per-carry average to 2.3 yards, likely the reason he’s seen just six runs in the last two games.
The running game has always been the reliable part of any Kyle Shanahan offense, and it’s been anything but that in October.
Winner: DL Arik Armstead
Armstead’s sack of Burrow at the 7:51 mark of the second quarter on Sunday was the 49ers’ first sack since Nick Bosa sacked P.J. Walker two weeks ago at the 4:10 mark of the fourth quarter.
That’s 86 minutes and 19 seconds of game time without a sack.
And not only did Armstead end the 49ers’ streak, he started his own mini-streak with a second sack in the third quarter. Both of his sacks led to field goal attempts, with his first sack coming on a third down, pushing an Evan McPhearson field goal try to 50 yards - which he missed - and Armstead’s second sack coming on a second down, forcing a 55-yard try from McPhearson two plays later, a kick he would make.
The 49ers needed some sort of life out of an otherwise dormant pass rush, and Armstead was an unexpected source of that life.
Loser: the rest of the defense
San Francisco’s defense combined for one more sack - Clelin Ferrell and Nick Bosa combined for it on the first play of the fourth quarter. Cincinnati’s offense had a missed field goal, field goal, and punt on the three drives where the 49ers defense had a sack.
On the seven Bengals offensive drives where the 49ers didn’t get to Burrow, Cincinnati went:
Punt with 19 seconds left and the game out of reach
Maybe part of the reason the pass rush isn’t hitting is because the 49ers secondary is giving more space at the line of scrimmage than a defender would give Shaquille O’Neal with the ball at the top of the three-point line.
Tee Higgins finished with the 10th-highest average cushion of the 70 receivers to have at least five or more targets in Week 8, with the 49ers giving him an average of 7.4 yards before the snap at the line of scrimmage. Ja’Marr Chase wasn’t too far behind, with an average of six yards of cushion. Burrow finished with the second-lowest average intended air yards on Sunday at 6.1 yards, according to NFL Next Gen Stats.
An average of at least six yards of cushion on both of Cincinnati’s best targets, with Burrow on average throwing the ball six yards, creates plenty of space for Burrow to complete 28-of-32 passes. Twenty of his 28 completions were within 10 yards of the line of scrimmage. Steve Wilks was happy to give Burrow all that space, and Burrow was delighted to oblige, nickel and diming his way to the big day.
Additionally, Joe Mixon finished with season-highs in rushing yards (87) and yards per attempt (5.4) and had his first run of 20 or more yards since Week 1. Just an all-around bad day for a defense thought to be one of the better ones in the league.
Winner: TE George Kittle
Kittle finished Sunday with 149 yards, tied for the fifth-best game of his career in terms of yardage and the most yards he’s had since he finished with 151 yards when the 49ers last played the Bengals in 2021. He had plays of 34, 32, and 20 yards en route to the big day with nine receptions on 11 targets, leading all 49ers pass catchers in each category.
With few bright spots on the offense, Kittle’s performance stood out the most.
Winner: that foreboding feeling that maybe the 49ers aren’t as good as initially thought
It feels like nothing’s working anymore.
After starting the season with five consecutive games of 30 or more points, the 49ers offense has scored 17 points in each of its last three games, aligning with the three-game losing skid. While the offense has been without Trent Williams and Deebo Samuel the last two games, the troubles started against the Browns with both Williams and Samuel active, with the offense only managing 17 against Cleveland’s defense.
And before you say Cleveland’s defense was the best in the league, it’s given 39 and 24 points over the last two games to Indianapolis and Seattle, offenses that don’t feature Williams, Samuel, Aiyuk, Kittle, or McCaffrey.
While 49ers fans might be used to hearing about a struggling offense, the defensive side of the ball isn’t holding up its end of the bargain either. Burrow and the Bengals’ offense picked apart the 49ers secondary in a concerning trend for what should be an elite defense. That Robert Saleh and DeMeco Ryans edge is missing. Replacing it is a Wilks’ defense that can’t create sacks, is missing tackles, and the secondary - which is supposed to be one of Wilks’ strengths - is having plenty of issues.
I don’t want to call it a soft defense, but it is, at minimum, somehow soft-adjacent, whatever that means.
We’ve grown used to the 49ers entering November with some struggles. San Francisco has entered November with a record of 4-3, 3-4, and 4-4 each of the last three seasons. While 5-3 isn’t too far off, something feels different. After the win against Dallas, you could look at the schedule and ask, “Where’s the first loss?”
Looking at the schedule now, one could ask, “Where’s the next win?” The five games following the bye week are:
Tampa Bay feels like the best spot, but again, the 49ers should have beaten Cleveland and Minnesota, but here we are.
The trade deadline and the bye week seem to have come at the perfect time, but there are more questions than answers in Santa Clara right now, which wasn’t expected back in September.