Week 16 | December 22, 2025 | Lucas Oil Stadium, Indianapolis | Attendance: 66,265
Brock Purdy threw five touchdown passes, the most in a single game in his NFL career, as the San Francisco 49ers beat the Indianapolis Colts 48-27 at Lucas Oil Stadium on December 22, 2025. San Francisco finished with 440 total yards and did not punt for the second straight week. The win pushed the 49ers to 11-4 and extended their winning streak to five games.
For the Colts, it was a fifth consecutive loss. A depleted offensive line, Philip Rivers under constant pressure in the second half, and Dee Winters’ 74-yard pick-six in the final minutes finished any hope of a late comeback.
Table of Contents
How the Game Unfolded: Quarter-by-Quarter Scoring
| Quarter | SF | IND | Scoring Play |
|---|---|---|---|
| Q1 | 0 | 7 | Alec Pierce 20-yd catch from Rivers (Grupe kick) |
| Q1 | 7 | 7 | Demarcus Robinson 22-yd catch from Purdy (Pineiro kick) |
| Q1 | 14 | 7 | McCaffrey 2-yd catch from Purdy (Pineiro kick) |
| Q2 | 14 | 14 | Alec Pierce 16-yd catch from Rivers (Grupe kick) |
| Q2 | 21 | 14 | George Kittle 11-yd catch from Purdy (Pineiro kick) |
| Q2 | 24 | 14 | Eddy Pineiro 25-yd FG |
| Q2 | 24 | 17 | Blake Grupe 39-yd FG |
| Q3 | 31 | 17 | Jauan Jennings 3-yd catch from Purdy (Pineiro kick) |
| Q3 | 31 | 20 | Blake Grupe 51-yd FG |
| Q3 | 34 | 20 | Eddy Pineiro 38-yd FG |
| Q4 | 34 | 27 | Jonathan Taylor 1-yd rush (Grupe kick) |
| Q4 | 41 | 27 | McCaffrey 9-yd catch from Purdy (Pineiro kick) |
| Q4 | 48 | 27 | Dee Winters 74-yd INT return (Pineiro kick) |
Indianapolis kept it close into the fourth quarter. After Taylor’s touchdown trimmed it to 34-27, San Francisco answered with two scores in the final eight minutes to pull away.
Brock Purdy Passing Stats: Career-High Five Touchdowns
Purdy was sharp from the opening drive. He spread the ball across seven different receivers, posted a 126.8 passer rating, and earned a 94.4 PFF grade, the second-highest individual offensive grade on the field that night. His seven touchdown passes across Weeks 15 and 16 of the 2025 season were the most by a 49ers quarterback over a two-game stretch since 2001.
Kyle Shanahan after the game: “He was awesome, he played really well. I got on him for a couple throws he missed, but it was pretty close to a perfect game. He did a hell of a job.”
| Stat | Brock Purdy (SF) | Philip Rivers (IND) |
|---|---|---|
| Completions / Attempts | 25 / 34 | 23 / 35 |
| Passing Yards | 295 | 277 |
| Net Passing Yards | 295 | 254 |
| Touchdowns | 5 | 2 |
| Interceptions | 1 | 1 |
| Sacks / Yards Lost | 1 / 0 | 2 / 23 |
| Passer Rating | 126.8 | 97.0 |
| QBR | 88.6 | 52.2 |
| Avg. Depth of Target | 10.6 yds | 10.4 yds |
| Adjusted Completion % | 78.8% | 67.7% |
| Air Yards | 248 | 161 |
| Yards After Catch | 63 | 125 |
| Total Pressures Faced | 19 | 10 |
San Francisco Offensive Box Score: McCaffrey, Kittle Lead Skill Positions
George Kittle posted a 95.8 PFF grade before leaving with an ankle injury in the third quarter, the highest individual offensive grade of any player in the game. McCaffrey was equally versatile, handling 21 carries and six receptions while accounting for two touchdowns on the night.
SF Receiving Stats
| Player | Position | Targets | Receptions | Yards | TDs | Avg/Rec | YAC |
|---|---|---|---|---|---|---|---|
| George Kittle | TE | 8 | 7 | 115 | 1 | 16.4 | 22 |
| Jauan Jennings | WR | 6 | 5 | 71 | 1 | 14.2 | 20 |
| Christian McCaffrey | RB | 8 | 6 | 29 | 2 | 4.8 | 15 |
| Kendrick Bourne | WR | 5 | 3 | 27 | 0 | 9.0 | 4 |
| Demarcus Robinson | WR | 2 | 2 | 23 | 1 | 11.5 | 0 |
| Skyy Moore | WR | 1 | 1 | 23 | 0 | 23.0 | 1 |
| Jake Tonges | TE | 2 | 1 | 7 | 0 | 7.0 | 1 |
| Brian Robinson Jr. | RB | 1 | 0 | 0 | 0 | — | — |
SF Rushing Stats
| Player | Position | Carries | Yards | Avg | Long | TDs |
|---|---|---|---|---|---|---|
| Christian McCaffrey | RB | 21 | 117 | 5.6 | 24 | 0 |
| Brian Robinson Jr. | RB | 5 | 20 | 4.0 | 11 | 0 |
| Brock Purdy | QB | 2 | 11 | 5.5 | 9 | 0 |
| Mac Jones | QB | 3 | -3 | -1.0 | -1 | 0 |
| Team | 31 | 145 | 4.7 | 24 | 0 |
Dee Winters Closes It Out
With 3:26 left on the clock and the Colts trailing by 14, Rivers attempted a pass that Winters read the entire way. He took the interception 74 yards untouched for a touchdown, Philip Rivers’ final throw of the night. It was also the longest defensive score by a 49ers player in the 2025 regular season.
Winters finished with three targets covered, one interception, one pass breakup, and a 91.6 PFF defensive grade, the highest of any defender in the game.
Purdy acknowledged the play post-game: “The turnover at the end of the game with Dee Winters, huge win for us.”
Indianapolis Offensive Box Score: Rivers and Pierce, Taylor’s Record
Philip Rivers, 44 years old and in just his second start of his surprise comeback, was competitive in the first half. Alec Pierce delivered the Colts’ two receiving touchdowns, both on contested throws in tight coverage.
Jonathan Taylor’s one-yard touchdown run in the fourth quarter was his 17th rushing score of the 2025 season, passing Hall of Famer Lenny Moore for second on Indianapolis’ all-time single-season rushing touchdown list.
The Colts entered the game without starting tackles Braden Smith (concussion) and Bernhard Raimann (elbow). Center Tanor Bortolini left on the third offensive play with a concussion. Right guard Dalton Tucker followed with a shoulder injury in the second half. San Francisco’s pass rushers collected 19 total pressures against a makeshift line.
IND Receiving Stats
| Player | Position | Targets | Receptions | Yards | TDs | Avg/Rec | YAC |
|---|---|---|---|---|---|---|---|
| Alec Pierce | WR | 4 | 4 | 86 | 2 | 21.5 | 15 |
| Josh Downs | WR | 9 | 5 | 65 | 0 | 13.0 | 26 |
| Jonathan Taylor | RB | 3 | 3 | 33 | 0 | 11.0 | 31 |
| Michael Pittman Jr. | WR | 5 | 4 | 32 | 0 | 8.0 | 11 |
| Tyler Warren | TE | 9 | 3 | 30 | 0 | 10.0 | 17 |
| Mo Alie-Cox | TE | 2 | 2 | 16 | 0 | 8.0 | 13 |
| Andrew Ogletree | TE | 2 | 1 | 11 | 0 | 11.0 | 6 |
| Ameer Abdullah | RB | 1 | 1 | 4 | 0 | 4.0 | 6 |
IND Rushing Stats
| Player | Position | Carries | Yards | Avg | Long | TDs |
|---|---|---|---|---|---|---|
| Jonathan Taylor | RB | 16 | 46 | 2.9 | 7 | 1 |
| Tyler Goodson | RB | 3 | 9 | 3.0 | 6 | 0 |
| Josh Downs | WR | 1 | 3 | 3.0 | 3 | 0 |
| Team | 20 | 58 | 2.9 | 7 | 1 |
Full Team Stats Comparison
| Stat | San Francisco | Indianapolis |
|---|---|---|
| Total Yards | 440 | 312 |
| Passing Yards (gross) | 295 | 277 |
| Net Passing Yards | 295 | 254 |
| Rushing Yards | 145 | 58 |
| Total Plays | 66 | 58 |
| Yards Per Play | 6.7 | 5.4 |
| First Downs | 28 | 19 |
| Passing First Downs | 20 | 13 |
| Rushing First Downs | 8 | 4 |
| 3rd Down Efficiency | 7/11 (64%) | 5/10 (50%) |
| 4th Down Efficiency | 1/1 (100%) | 0/1 (0%) |
| Red Zone (Scores/Att) | 4/6 | 2/2 |
| Turnovers | 1 | 2 |
| Fumbles Lost | 0 | 1 |
| Penalties / Yards | 2 / 36 | 6 / 45 |
| Time of Possession | 33:05 | 26:55 |
| Punts | 0 | 2 |
| Avg EPA per Play | +0.306 | -0.106 |
| Sacks | 2 | 1 |
| Total Pressures | 10 | 19 |
Key Defensive and Special Teams Stats
Top Tacklers
| Player | Team | Total Tackles | Solo | Sacks | TFL | PD | TD |
|---|---|---|---|---|---|---|---|
| Ji’Ayir Brown | SF | 9 | 5 | 0 | 1 | 0 | 0 |
| Tatum Bethune | SF | 9 | 4 | 0 | 0 | 1 | 0 |
| Camryn Bynum | IND | 7 | 5 | 0 | 0 | 1 | 0 |
| Germaine Pratt | IND | 6 | 4 | 0 | 0 | 1 | 0 |
| Nick Cross | IND | 6 | 3 | 0 | 0 | 0 | 0 |
| DeForest Buckner | IND | 5 | 4 | 0 | 0 | 0 | 0 |
| Zaire Franklin | IND | 4 | 2 | 0 | 0 | 1 | 0 |
| Dee Winters | SF | 3 | 1 | 0 | 0 | 2 | 1 |
| Alfred Collins | SF | 2 | 1 | 1 | 1 | 0 | 0 |
| C.J. West | SF | 1 | 1 | 1 | 1 | 0 | 0 |
| Laiatu Latu | IND | 3 | 3 | 1 | 1 | 0 | 0 |
Interceptions
| Player | Team | INT | Return Yards | TD |
|---|---|---|---|---|
| Dee Winters | SF | 1 | 74 | 1 |
| Camryn Bynum | IND | 1 | 8 | 0 |
Kicking
| Player | Team | FG | FG% | Long | XP | Points |
|---|---|---|---|---|---|---|
| Eddy Pineiro | SF | 2/3 | 66.7% | 38 | 6/6 | 12 |
| Blake Grupe | IND | 2/2 | 100% | 51 | 3/3 | 9 |
Punting
| Player | Team | Punts | Total Yards | Avg | Long | Inside 20 |
|---|---|---|---|---|---|---|
| Rigoberto Sanchez | IND | 2 | 101 | 50.5 | 54 | 1 |
| SF Punters | SF | 0 | — | — | — | — |
Injury Summary
San Francisco:
- George Kittle (TE): Left ankle, injured in Q3 cutting after a reception
- Tatum Bethune (LB): Right ankle, late Q3
Indianapolis:
- Tanor Bortolini (C): Concussion, exited on the 3rd offensive play
- Dalton Tucker (RG): Shoulder, exited second half
- JT Tuimoloau (DE): Oblique, exited first half
- Braden Smith (OT): Inactive pre-game, concussion
- Bernhard Raimann (OT): Inactive pre-game, elbow
What This Performance Meant for San Francisco’s 2025 Season
The 49ers had not won a series game against Indianapolis since before Jim Mora’s infamous “playoffs” press conference in November 2001, a five-game losing streak in the matchup that ended Monday night in Indianapolis.
San Francisco also scored in 23 consecutive quarters after this game, the longest such streak for the franchise since 1995. The Colts, meanwhile, lost for the first time all season when scoring at least 20 points.
Colts head coach Shane Steichen was direct after the game: “We’ve got to be better. Bottom line, we can’t give up that many yards. They scored a lot of points, went up and down the field and we’ve got to get that cleaned up in a hurry.”
Purdy’s five-touchdown night in the San Francisco 49ers vs Indianapolis Colts game was one of the signature individual performances of the 2025 NFL regular season. Five scores, 126.8 passer rating, zero punts, and a 49ers defense that finished the job late. This was a complete game in every column of the box score.
