CINCINNATI — A week earlier, 49ers defensive end Nick Bosa stood in front of the media in Seattle and put it quite succinctly.
“We blew it,” Bosa said.
On Sunday, he delivered a similar but very different message.
“We almost blew it,” Bosa said following the 49ers’ 26-23 overtime victory over the Cincinnati Bengals at Paul Brown Stadium.
It was not perfect — far from it, in fact.
But it was good enough on this day for the 49ers to improve to 7-6 and take another step closer to a postseason appearance.
Here is the 49ers’ report card from a game in which they squandered a 14-point fourth-quarter lead, then came from behind in overtime to pull out the win:
The Bengals stacked the box, and the yards did not come easy for the 49ers’ ground game. But the 49ers still managed to average 4.3 yards on 23 attempts. Wide receiver (I suppose we’re still calling him a wide receiver) Deebo Samuel scored the first touchdown of the game on a 27-yard run.
Jeff Wilson Jr. started and gained a team-high 56 yards on 13 attempts while filling in for injured Elijah Mitchell, the team’s leading rusher on the season.
Jimmy Garoppolo’s game boiled down to this: He was 6 of 6 for 77 yards and a touchdown in overtime. He came up with his biggest throws with the game on the line.
Tight end George Kittle had another huge game with 151 yard and a touchdown. He had 13 receptions on 15 passes thrown his way. The 49ers scored the winning points in overtime on Brandon Aiyuk’s 12-yard catch and run. Aiyuk made a tremendous move near the end zone to break the plane.
It was not perfect, as Garoppolo was sacked five times and very nearly what could have been a game-losing interception near the end of regulation. But Garoppolo finished with 296 yards on 27-of-41 passing with two touchdowns and a passer rating of 103.3.
The 49ers’ run defense did a good job on Joe Mixon, limiting him to 58 yards rushing on 18 carries. Azeez Al-Shaair had a game-high 11 tackles, including three tackles for the loss.
Arik Armstead, D.J. Jones and Nick Bosa did a good job of clogging up the run lanes, as the Bengals averaged just 3.3 yards on their 26 rushing attempts.
The 49ers kept the Bengals’ high-powered offense in check for most of the game before allowing two fourth-quarter touchdowns.
Bengals quarterback Joe Burrow went after Josh Norman on one side, then rookie Ambry Thomas on the other side to tie the game with 1:19 remaining in regulation. Thomas was also called for two penalties that wiped out a Jimmie Ward interception and a Bosa sack.
Bosa ended up with two sacks, including a big one on a third-down play in overtime to force the Bengals to settle for a field goal. That left the door open for the 49ers to win the game. Bottom line is this: The 49ers held Cincinnati to 20 points in regulation, and that’s winning football.
The 49ers were the beneficiaries of most of the special teams miscues on Sunday, unlike last week in Seattle.
The 49ers scored 10 points off takeaways on special teams. Cincinnati punt returner Darius Phillips had a horrendous day with two muffed punts. River Cracraft and Trent Sherfield came up with the fumble recoveries.
On the bad side, Robbie Gould and the field-goal unit could have ended the game on the final play of regulation, but he missed wide right from 47 yards.
The 49ers had a solid defensive game plan to allow Burrow to complete the underneath passes and not give up the big play. The Bengals did not get much of anything going on offense until the middle of the fourth quarter.
On offense, the 49ers knew it was going to be difficult to run against the Bengals’ eight-man front. They generally did a good job of mixing run with pass, with the pass taking the place of the ball-control game.
Coach Kyle Shanahan and Garoppolo managed the closing minute of regulation perfectly, though it did not end with the winning points.
Then, both teamed up to make all the right calls in overtime, culminating with the perfectly executed game-winning touchdown pass to Aiyuk.
This could have been a difficult loss in a season when the 49ers have taken a lot of tough defeats.
And, frankly, this is the kind of game we’ve all grown accustomed to seeing the 49ers lose. That is why this was such an important win for the 49ers because it showed they can win a game even when things are going horribly wrong at the important times.
There was not one area of the team that played perfectly. At the same time, there was not one area of the team that did not come up with some big plays, too.