Four seconds remained. Chicago had the ball at the San Francisco 2-yard line. One play to win it.
Caleb Williams took the snap, scrambled left under pressure from Bryce Huff, and fired toward Jahdae Walker in the end zone. The pass hit turf. Game over. San Francisco 42, Chicago 38.
The 49ers survived one of the season’s wildest shootouts Sunday night at Levi’s Stadium, holding off Williams’ seventh fourth-quarter comeback attempt to keep their playoff seeding hopes alive. The Bears vs 49ers player stats reflected a game where offense ruled and defense became an afterthought.
Table of Contents
Purdy Bounces Back from Disaster Start
Brock Purdy’s night began in the worst way possible. On San Francisco’s first offensive snap, linebacker T.J. Edwards read Jauan Jennings’ route perfectly, tipped the pass, and returned the interception 34 yards for a touchdown. Fifteen seconds into the game, the 49ers trailed 7-0.
What followed was a masterclass in composure.
Brock Purdy Stats | |
|---|---|
Completions/Attempts | 24/33 |
Passing Yards | 303 |
Passing Touchdowns | 3 |
Rushing Touchdowns | 2 |
Total TDs | 5 |
Passer Rating | 118.6 |
Interceptions | 1 |
Purdy joined elite company with his second straight five-touchdown performance, becoming the seventh player in NFL history to record consecutive games with five or more total touchdowns. Russell Wilson was the last to do it in 2020.
“It was early in the game so you do have to flush it and be ready to play a whole game after that,” Purdy said.
The quarterback answered the pick-six with a 65-yard touchdown drive capped by a 1-yard pass to Jake Tonges. He added two rushing touchdowns in the first half, then delivered the game winner when it mattered most.
Trailing 38-35 with five minutes left, Purdy hit Jennings on a crossing route. The receiver did the rest, racing 38 yards for the go-ahead score with 2:15 remaining.
Williams Keeps Bears in Every Fight
The rookie quarterback refuses to quit. Williams marched Chicago 78 yards in the final two minutes, converting a fourth-and-5 with 33 seconds left on a completion to Colston Loveland. A lateral play moved the ball to the 2-yard line, setting up the final snap.
Caleb Williams Stats | |
|---|---|
Completions/Attempts | 25/42 |
Passing Yards | 330 |
Touchdowns | 2 |
Season Total Yards | 3,681 |
The 330-yard performance moved Williams past Jay Cutler (2014) for third on the Bears’ single-season passing yards list. His 25 touchdowns this season rank fourth in franchise history, surpassing Mitchell Trubisky’s 2018 total.
Williams connected with Luther Burden III on a 35-yard touchdown strike and found Loveland for a 36-yard score. Both deep shots exposed a 49ers secondary that allowed 38 points for only the second time this season.
“It’s frustrating,” Williams said. “You don’t want to lose a game ever. And then also, in that position, having a shot at the end is all you can ask for on this moment.”
Ground Games Deliver Big Plays
Christian McCaffrey torched Chicago for 140 rushing yards and a touchdown on 23 carries. The veteran running back exploded for 121 yards in the first half alone, his most productive two quarters of the season. He added four catches for 41 yards, finishing with 181 total yards.
D’Andre Swift gave the Bears life with two rushing touchdowns. His 22-yard scoring run early in the fourth quarter tied the game at 35. Swift’s physical style kept San Francisco’s defense guessing all night.
Top Performers | Position | Stats |
|---|---|---|
Christian McCaffrey | 49ers RB | 140 rush yds, 1 TD; 41 rec yds |
Ricky Pearsall | 49ers WR | 5 catches, 85 yards |
DโAndre Swift | Bears RB | 2 rushing TDs |
Luther Burden III | Bears WR | 35-yard TD catch |
Record-Setting Scoring Marathon
The 80 combined points tied for the third-highest total in any game this season. More remarkably, this became the first regular season contest in NFL history where both teams were tied at 7, 14, 21, 28, and 35 points.
Neither defense could find answers. The 49ers punted for the first time all night in the fourth quarter, ending a streak of 23 consecutive possessions without a punt dating back to November 30.
Kyle Juszczyk’s 6-yard touchdown catch highlighted Purdy’s improvisational skills. Rolling left on third down, the quarterback dodged two pass rushers, stepped up through traffic, and floated a perfect pass to his fullback in the corner of the end zone.
Injuries Mount for Both Teams
San Francisco lost left tackle Trent Williams to a hamstring injury on the game’s opening play. The 12-time Pro Bowl selection never returned, forcing backup Austen Pleasants into action protecting Purdy’s blindside for the remainder of the night.
Chicago linebacker Noah Sewell exited in the third quarter with an ankle injury. Defensive end Joe Tryon-Shoyinka left with a concussion. Wide receiver Olamide Zaccheaus was scratched before kickoff due to illness.
George Kittle missed the game for San Francisco with an ankle issue. Cornerback Upton Stout suffered a concussion in the second half.
Winner Takes All Next Week
The victory sets up a massive Week 18 showdown. San Francisco (12-4) hosts Seattle (13-3) on Saturday night with the NFC West title, a first-round bye, and the conference’s top playoff seed all on the line.
“We’ve earned this,” coach Kyle Shanahan said. “This is the game we want. We love that it’s here. We have an opportunity to never leave here again this year.”
A win would give the 49ers home field throughout the playoffs, including a potential Super Bowl run. The championship game is scheduled for Levi’s Stadium on February 8.
Chicago (11-5) already clinched the NFC North. The Bears host Detroit next Sunday, needing a victory to lock up the No. 2 seed and a home playoff game against Green Bay. A loss could drop them to third and a likely wild card matchup with the Rams.
The chicago bears vs 49ers match player stats showed two of the league’s hottest quarterbacks trading haymakers in prime time. Purdy landed the final punch, but Williams proved he belongs in these moments. Both teams head into the season’s final week knowing their quarterbacks can win when everything is at stake.

