One week ago, the 49ers were on the wrong side of a chaotic, turnover-fueled matchup. On Sunday, they were the benefactors of a different type of chaos, which was largely inspired by the Bengals.
As has been the case throughout the entirety of the season, when the 49ers win the turnover battle, they win the game. That held true in a 26-23 win over the Bengals, which moves San Francisco, now 7-6, back to the sixth Wild Card spot. They are now 5-0 when they have a positive turnover differential.
It was not a dominant win by any stretch of the imagination. And it had much of the feel of the Seattle game, with the 49ers playing well in the first half, and going quiet in the second.
But in a game in which the Bengals were confoundingly conservative, disjointed, and mistake-riddled in that first half, San Francisco found a way to wake up when it mattered, walking it off in overtime.
There were many ways for San Francisco to avoid going to overtime, and should have won at the last second with a 47-yard field goal attempt that Robbie Gould pushed wide right.
As rough as it got through much of the fourth quarter, everyone on the offense stepped up late.
Garoppolo found Jauan Jennings down the right sideline for a nonsensically good 25-yard catch. He found George Kittle for a 21-yarder, and then a nine-yard catch on a key third-and-five.
But it was Brandon Aiyuk who ended it. George Kittle showed his balance and acrobatics last week. Deebo Samuel tiptoed down the sideline earlier in this game. At the end of this one, it was Aiyuk’s turn, leaping and stretching across the goal line to walk the game off.
To be clear, the 49ers made plenty of their own mistakes.
Rookie corner Ambry Thomas committed two illegal hands to the face penalties which wiped away a Jimmie Ward interception and Nick Bosa sack, respectively. He allowed a game-tying touchdown to Ja’Marr Chase, and nearly allowed another earlier in the game that Chase couldn’t haul in.
Jimmy Garoppolo committed a strip sack against himself on first down at around midfield, and was then sacked later that drive at a time when the 49ers could have put the game away.
It was at that point, at the start of the fourth quarter, when the 49ers led 20-6, that provided a prime opportunity to win the game.
Instead, Garoppolo took those two sacks, and the Bengals’ offense woke from its long slumber.
Joe Mixon rattled off a 17-yard rush. Tee Higgins caught a 27-yard pass. Ja’Marr Chase beat Talanoa Hufanga on an off-schedule play for a touchdown.
And all of a sudden, it became a one-score game.
The 49ers’ offense failed to respond — with Garoppolo taking his fourth sack of the game — but the defense did. Josh Norman came through with a critical breakup on Chase, followed by the long-missed Shark blitz.
It’s been a play lacking the typical success it’s had in prior seasons. DeMeco Ryans sent K’Waun Williams up the middle and he was as ruthlessly efficient as he usually is in those situations, sacking Joe Burrow to force the Bengals to punt.
With another chance to put the game away, the 49ers’ offense came up empty yet again, but burnt a few minutes and two of the Bengals’ timeouts.
That meant nothing, even with a Nick Bosa sack taking Cincinnati to it’s own five-yard line and in a 2nd-and-18 situation.
Instead, Burrow finally found Chase — who cooked rookie corner Ambry Thomas — to tie the game.
That shouldn’t have mattered, given what followed. On a potentially game-winning drive with 1:15 remaining, Jimmy Garoppolo completed four passes, two of which should have loomed large. He found a wide-open Brandon Aiyuk for 17 yards, then hit an outstretched George Kittle on third-and-10 for 19 yards.
Sunday’s chaos should have concluded then. Instead, Robbie Gould missed the field goal.
Cincinnati responded with an overtime field goal, thanks, in large part, to Nick Bosa’s second (and really third) sack of the game, holding them on third down.
San Francisco didn’t waste its chance.
As much as Deebo Samuel’s return was significant — and it was, with him providing nine carries, including a stunning one for a touchdown — this was archetypal George Kittle game, and it was nowhere more present than on that final drive.
He was everything to the 49ers’ offense, providing 13 catches for 151 yards and a touchdown. Even with a drop and a false start on the final overtime drive, he came back with multiple conversions.
On third-and-five, with less than three minutes remaining, he converted. It came after Jennings’ sideline catch, and set up Aiyuk’s ridiculous game-winner.
While the 49ers failed to make continued use of the Bengals’ failures, and of head coach Zac Taylor’s conservative fourth-down decision-making, they converted when it mattered. When you consider Gould’s miss, they really did it twice.