CHICAGO -- It had been an unpleasant season for Jimmy Garoppolo through seven weeks of the 49ers' 2021 NFL season.
Hell, it had been unpleasant for everyone in Santa Clara, but no one, except perhaps coach Kyle Shanahan, had it worse than Garoppolo.
Mired in a four-game losing streak, two-and-a-half of which he played in, Garoppolo has spent the entire season -- really the last seven months -- with the hoards at his gates ready to send him out of town on a rail and give his job to Trey Lance before the expected transition of power.
The 49ers entered Sunday's game against the Chicago Bears at Soldier Field feeling the weight of four straight losses. Four games they had a chance to win. Four games in which poor execution and lack of discipline cost them. At 2-4, and with their only wins coming over the Detroit Lions and Philadelphia Eagles, the 49ers were in danger of watching their season and postseason hopes evaporate with a loss Sunday next to Lake Michigan.
But for the first time in five weeks, the 49ers found ways to win a game instead of throwing it away, leaving Chicago with a 33-22 win that had the entire locker room breathing a sigh of relief and put a smile on Shanahan's face for the first time in since the Week 2 win over the Eagles.
"Huge. I mean, you guys know how it is," Shanahan said Sunday after the win. "You lose a couple in a row in the NFL, and it's tough. We've lost four in a row. So that was very needed for a lot of people."
The 49ers didn't play perfect Sunday in the Windy City. Far from it. The offense stalled out and kicked field goals on its first four drives, with Joey Slye connecting on three attempts. The defense couldn't get off the field on third down as rookie quarterback Justin Fields was wheeling and dealing with Matt Nagy sitting at home due to COVID protocols.
The 49ers trailed 13-9 at halftime and looked dead in the water. They looked, to be frank, like a bad football team. One that was about to gack all over itself en route to a fifth straight loss, this one against a team with two turnstiles at offensive tackle and no pass rush without Khalil Mack.
But finally, after eight weeks of searching, the 49ers everyone thought would be a factor in the title conversation arrived in the third quarter at Soldier Field. Backs against the wall, the 49ers came out swinging and finally weren't the ones picking themselves up off the canvas after 60 minutes.
"I mean, just the way they battled. Not everything went perfect," Shanahan said. "I would have liked us to have stopped them more on defense. But it was cool that we never punted, which we needed. When it came down to the end, the D got them to punt. And then their last series they got that pick, which iced it. Huge team win. We kept talking about whatever it took to win is what we had to do. We didn't care whether it was 2-0 or ended like that."
After a disastrous performance in a rain-soaked Week 7 loss to the Indianapolis Colts, Garoppolo needed the 49ers not only to win, but he needed to be why they won.
The first half was much of the same from Garoppolo save for a 50-yard strike to Deebo Samuel to set up a field goal at the end of the half.
With Trey Lance active, the Jimmy Garoppolo from 2019 had to re-emerge or else the rest of his season might be spent holding a Microsoft Surface. Back home in Chicago, with his friends and family cheering him on, Garoppolo rose to the occasion in the second half.
On the 49ers' first possession of the second half, Samuel took a screen pass 83 yards down to the Bears' 1-yard line. But San Francisco immediately was flagged for a false start, backing the Niners up to the 6. In the previous four games, the 49ers would have stalled out again and been forced to trot Slye back out, wasting what was an electric catch-and-run from Samuel.
But on third-and-goal from the 2-yard line, Garoppolo made a play that might prove to be a turning point in the 49ers' season. The 49ers motioned Samuel into the backfield and were looking to quickly get the ball into the hands of the dynamic receiver. But the crowd noise caused a miscommunication and Samuel stopped running, leaving Garoppolo to take it upon himself to follow Kyle Juszczyk through the hole and into the end zone for a 2-yard score to bring the 49ers to within one at 16-15.
Garoppolo let out a primal scream and slammed the ball into the turf, exhaling weeks of frustration.
But the Bears battled back and trailed 23-22 halfway through the fourth quarter. But by then, the 49ers' offense had found its groove. Needing a score to ice a much-needed win, Garoppolo opened the drive with a 19-yard pass to Mohamed Sanu. Three plays later, Garoppolo hit JaMychal Hasty for 23 down to the 49ers' 5-yard line and then called his own number of first-and-goal, taking a zone read around the left side for his second touchdown run of the game.
After plunging into the end zone, Garoppolo fired the ball rows deep into the Soldier Field stands. Back against the wall and his job on the line, Garoppolo delivered when Shanahan and the 49ers needed him most.
For six-and-a-half games, Garoppolo and the 49ers' offense had been unrecognizable to the unit we'd grown accustomed to seeing. The calls for Lance had been growing louder. But Garoppolo didn't give the rookie a reason to take off his coat and beanie Sunday.
Down seven in the second half in Chicago, they rediscovered their mojo and snapped a losing streak that had been threatening to sink a season that started with such promise.
No one needed the win and the performance more than Garoppolo, who silenced his critics for a week and got the 49ers back on track.
"I think our team just needed a win," Garoppolo said about how much he needed the performance. "I mean, losing four in a row like that, you've got to do something about it. And I think our guys did. We came ready today. There was a good mindset on the sideline. Guys were talking. You could feel each other. And when we're playing like that, that's when we get dangerous."
A confident Garoppolo and a dangerous 49ers' offense was a welcome sight. Now, it just needs to stick around.