2025 Week 16 · Mon, Dec 22, 2025 · Lucas Oil Stadium
San Francisco 49ersWinner
48
Indianapolis Colts
27
San Francisco 49ers 48–27 — never really in doubt late. Biggest swing: Q2 14:19, IND +13% win probability on one snap.
The game in one curve — scrub to replay it
Win probability
(14:19) (Shotgun) 17-P.Rivers pass deep middle to 14-A.Pierce for 16 yards, TOUCHDOWN. Penalty on SF-28-D.Luter, Defensive Pass Interference, declined.
Highest-leverage plays
- Q2 · 14:19IND +13% win prob(14:19) (Shotgun) 17-P.Rivers pass deep middle to 14-A.Pierce for 16 yards, TOUCHDOWN. Penalty on SF-28-D.Luter, Defensive Pass Interference, declined.
- Q1 · 7:14SF +11% win prob18-E.Pineiro kicks 56 yards from SF 35 to IND 9. 26-A.Abdullah to IND 27 for 18 yards (27-J.Brown). FUMBLES (27-J.Brown), RECOVERED by SF-88-J.Tonges at IND 26.
- Q1 · 11:45IND +9% win prob(11:45) (Shotgun) 17-P.Rivers pass short right to 2-J.Downs to SF 23 for 13 yards (20-U.Stout).
- Q2 · 9:42IND +8% win prob(9:42) 13-B.Purdy pass short right to 85-G.Kittle for 11 yards, TOUCHDOWN.
How the points landed
Scoring summary
- Q1 · 10:36IND Touchdown
(10:36) (Shotgun) 17-P.Rivers pass deep middle to 14-A.Pierce for 20 yards, TOUCHDOWN. Penalty on SF-96-C.Ferrell, Defensive Offside, declined. (kick good)
Score after this play: SF 0 — IND 7 - Q1 · 7:19SF Touchdown
(7:19) (Shotgun) 13-B.Purdy pass deep middle to 5-D.Robinson for 22 yards, TOUCHDOWN. (kick good)
Score after this play: SF 7 — IND 7 - Q1 · 4:37SF Touchdown
(4:37) (Shotgun) 13-B.Purdy pass short right to 23-C.McCaffrey for 2 yards, TOUCHDOWN. (kick good)
Score after this play: SF 14 — IND 7 - Q2 · 14:19IND Touchdown
(14:19) (Shotgun) 17-P.Rivers pass deep middle to 14-A.Pierce for 16 yards, TOUCHDOWN. Penalty on SF-28-D.Luter, Defensive Pass Interference, declined. (kick good)
Score after this play: SF 14 — IND 14 - Q2 · 9:42SF Touchdown
(9:42) 13-B.Purdy pass short right to 85-G.Kittle for 11 yards, TOUCHDOWN. (kick good)
Score after this play: SF 21 — IND 14 - Q2 · 1:55SF Field goal
(1:55) 18-E.Pineiro 25 yard field goal is GOOD, Center-46-J.Weeks, Holder-7-T.Morstead.
Score after this play: SF 24 — IND 14 - Q2 · 0:21IND Field goal
(:21) 10-B.Grupe 39 yard field goal is GOOD, Center-46-L.Rhodes, Holder-8-R.Sanchez.
Score after this play: SF 24 — IND 17 - Q3 · 11:02SF Touchdown
(11:02) (Shotgun) 13-B.Purdy pass short right to 15-J.Jennings for 3 yards, TOUCHDOWN. (kick good)
Score after this play: SF 31 — IND 17 - Q3 · 8:21IND Field goal
(8:21) 10-B.Grupe 51 yard field goal is GOOD, Center-46-L.Rhodes, Holder-8-R.Sanchez.
Score after this play: SF 31 — IND 20 - Q3 · 4:07SF Field goal
(4:07) 18-E.Pineiro 38 yard field goal is GOOD, Center-46-J.Weeks, Holder-7-T.Morstead.
Score after this play: SF 34 — IND 20 - Q4 · 12:45IND Touchdown
(12:45) (Shotgun) 28-J.Taylor up the middle for 1 yard, TOUCHDOWN. (kick good)
Score after this play: SF 34 — IND 27 - Q4 · 7:42SF Touchdown
(7:42) (Shotgun) 13-B.Purdy pass short left to 23-C.McCaffrey for 9 yards, TOUCHDOWN. (kick good)
Score after this play: SF 41 — IND 27 - Q4 · 3:38SF Touchdown
(3:38) (No Huddle, Shotgun) 17-P.Rivers pass short middle intended for 84-T.Warren INTERCEPTED by 53-D.Winters at SF 26. 53-D.Winters for 74 yards, TOUCHDOWN. (kick good)
Score after this play: SF 48 — IND 27
Down-to-down truth
Situational splits
| Metric | 49ers | Colts |
|---|---|---|
| Offensive plays | 63 | 58 |
| Total yards | 443 (edge) | 312 |
| Yards per play | 7.0 (edge) | 5.4 |
| Expected points added / play | 0.40 (edge) | -0.04 |
| Success rate | 52% (edge) | 50% |
| Dropback rate | 57% | 66% |
| Dropback efficiency (EPA/play) | 0.57 (edge) | -0.01 |
| Rush efficiency (EPA/play) | 0.19 (edge) | -0.09 |
| Third downs | 7/10 (edge) | 5/10 |
| Red-zone trips → TDs | 0 → 0 | 0 → 0 |
| Explosive plays (10+ rush / 20+ pass) | 9 (edge) | 2 |
| First downs gained on snaps | 28 (edge) | 17 |
| Sacks taken | 1 (edge) | 2 |
| Turnovers | 1 (edge) | 2 |
49ers won the down-to-down efficiency fight: 0.40 expected points added per play vs -0.04.
Who moved the needle
Top performers
Passing · SF
25/34, 295 yds, 5 TD, 1 INT
20.5 expected points added · +12.4% completion over expected
Passing · IND
23/35, 277 yds, 2 TD, 1 INT
2.9 expected points added · -1.2% completion over expected
Possession by possession
Drive chart
| # | Team | Start | Plays | Scrim yds | Clock | Result | |
|---|---|---|---|---|---|---|---|
| 1 | IND | IND 28 | 11 | 82 | 4:29 | Touchdown +7 | |
| 2 | SF | SF 31 | 8 | 69 | 3:17 | Touchdown +7 | |
| 3 | IND | — | 1 | 0 | 0:06 | Fumble | |
| 4 | SF | IND 26 | 6 | 26 | 2:35 | Touchdown +7 | |
| 5 | IND | IND 34 | 14 | 76 | 5:18 | Touchdown +7 | |
| 6 | SF | SF 31 | 12 | 69 | 4:39 | Touchdown +7 | |
| 7 | IND | IND 20 | 5 | 8 | 2:27 | Punt | |
| 8 | SF | SF 18 | 12 | 72 | 5:18 | Field goal +3 | |
| 9 | IND | IND 35 | 8 | 28 | 1:34 | Field goal +3 | |
| 10 | SF | SF 40 | 3 | 14 | 0:17 | Missed field goal | |
| 11 | SF | SF 36 | 10 | 64 | 4:02 | Touchdown +7 | |
| 12 | IND | IND 35 | 8 | 17 | 2:42 | Field goal +3 | |
| 13 | SF | SF 32 | 9 | 49 | 4:14 | Field goal +3 | |
| 14 | IND | IND 35 | 14 | 65 | 6:21 | Touchdown +7 | |
| 15 | SF | SF 30 | 12 | 70 | 5:04 | Touchdown +7 | |
| 16 | IND | IND 20 | 5 | -15 | 1:17 | Punt | |
| 17 | SF | IND 44 | 5 | 10 | 1:43 | Interception | |
| 18 | IND | IND 29 | 3 | 42 | 1:11 | Defensive touchdown | |
| 19 | IND | IND 35 | 5 | 9 | 1:30 | Turnover on downs | |
| 20 | SF | IND 43 | 3 | 0 | 1:56 | End of game |
12 of 20 drives ended in points. Longest march: Colts gained 82 scrimmage yards over 11 plays for a touchdown.
Full stat lines
Box score
San Francisco 49ers
Passing
| Player | C/Att | Yds | TD | INT | Sacked | EPA |
|---|---|---|---|---|---|---|
| Brock Purdy | 25/34 | 295 | 5 | 1 | 1 | 20.5 |
Rushing
| Player | Att | Yds | Avg | TD | EPA |
|---|---|---|---|---|---|
| Christian McCaffrey | 21 | 117 | 5.6 | 0 | 2.9 |
| Brian Robinson | 5 | 20 | 4.0 | 0 | -0.3 |
| Brock Purdy | 2 | 11 | 5.5 | 0 | 2.2 |
| Mac Jones | 3 | -3 | -1.0 | 0 | -3.0 |
Receiving
| Player | Rec | Tgt | Yds | TD | Tgt share | EPA |
|---|---|---|---|---|---|---|
| George Kittle | 7 | 8 | 115 | 1 | 24% | 9.8 |
| Jauan Jennings | 5 | 6 | 71 | 1 | 18% | 9.1 |
| Christian McCaffrey | 6 | 8 | 29 | 2 | 24% | 3.2 |
| Kendrick Bourne | 3 | 5 | 27 | 0 | 15% | -4.3 |
| Skyy Moore | 1 | 1 | 23 | 0 | 3% | 2.0 |
| Demarcus Robinson | 2 | 2 | 23 | 1 | 6% | 2.2 |
| Jake Tonges | 1 | 2 | 7 | 0 | 6% | 0.6 |
| Brian Robinson | 0 | 1 | 0 | 0 | 3% | -0.6 |
Defense (top contributors)
| Player | Solo | Ast | Sacks | INT | PD |
|---|---|---|---|---|---|
| Tatum Bethune | 4 | 5 | 0.0 | 0 | 1 |
| Ji'Ayir Brown | 5 | 4 | 0.0 | 0 | 0 |
| Malik Mustapha | 3 | 5 | 0.0 | 0 | 0 |
| Darrell Luter Jr. | 5 | 1 | 0.0 | 0 | 1 |
| Upton Stout | 3 | 3 | 0.0 | 0 | 2 |
| Dee Winters | 1 | 2 | 0.0 | 1 | 2 |
| Deommodore Lenoir | 2 | 1 | 0.0 | 0 | 0 |
| Kalia Davis | 0 | 3 | 0.0 | 0 | 1 |
| Sam Okuayinonu | 1 | 2 | 0.0 | 0 | 0 |
| Keion White | 1 | 2 | 0.0 | 0 | 0 |
Indianapolis Colts
Passing
| Player | C/Att | Yds | TD | INT | Sacked | EPA |
|---|---|---|---|---|---|---|
| Philip Rivers | 23/35 | 277 | 2 | 1 | 2 | 2.9 |
| Riley Leonard | 0/1 | 0 | 0 | 0 | 0 | -3.3 |
Rushing
| Player | Att | Yds | Avg | TD | EPA |
|---|---|---|---|---|---|
| Jonathan Taylor | 16 | 46 | 2.9 | 1 | -0.4 |
| Tyler Goodson | 3 | 9 | 3.0 | 0 | -1.2 |
| Josh Downs | 1 | 3 | 3.0 | 0 | -0.2 |
Receiving
| Player | Rec | Tgt | Yds | TD | Tgt share | EPA |
|---|---|---|---|---|---|---|
| Alec Pierce | 4 | 4 | 86 | 2 | 11% | 9.6 |
| Josh Downs | 5 | 9 | 65 | 0 | 25% | 3.3 |
| Jonathan Taylor | 3 | 3 | 33 | 0 | 8% | 3.1 |
| Michael Pittman | 4 | 5 | 32 | 0 | 14% | 0.2 |
| Tyler Warren | 3 | 9 | 30 | 0 | 25% | -11.8 |
| Mo Alie-Cox | 2 | 2 | 16 | 0 | 6% | 1.4 |
| Andrew Ogletree | 1 | 2 | 11 | 0 | 6% | 0.5 |
| Ameer Abdullah | 1 | 1 | 4 | 0 | 3% | 0.9 |
| Coleman Owen | 0 | 1 | 0 | 0 | 3% | -3.3 |
Defense (top contributors)
| Player | Solo | Ast | Sacks | INT | PD |
|---|---|---|---|---|---|
| Camryn Bynum | 5 | 2 | 0.0 | 1 | 1 |
| Germaine Pratt | 4 | 2 | 0.0 | 0 | 1 |
| Nick Cross | 3 | 3 | 0.0 | 0 | 0 |
| DeForest Buckner | 4 | 1 | 0.0 | 0 | 0 |
| Samson Ebukam | 3 | 1 | 0.0 | 0 | 0 |
| Zaire Franklin | 2 | 2 | 0.0 | 0 | 1 |
| Neville Gallimore | 3 | 0 | 0.0 | 0 | 0 |
| Kenny Moore II | 2 | 1 | 0.0 | 0 | 0 |
| Mekhi Blackmon | 3 | 0 | 0.0 | 0 | 1 |
| Cameron Mitchell | 3 | 0 | 0.0 | 0 | 0 |
Closing number vs result
Betting context
- Closing spread
- SF -4.5
- Closing total
- 46.5
- SF moneyline
- -225
- IND moneyline
- +185
49ers closed -4.5 and covered, winning by 21.
Total closed 46.5; the game landed 75 — over by 28.5.
Conditions and crew
Game environment
- Venue
- Lucas Oil Stadium
- Roof / surface
- closed · fieldturf
- Kickoff weather
- Indoors — weather neutralized
- Referee
- Ron Torbert
- Rest
- SF 8 days · IND 8 days
- Coaches
- Kyle Shanahan vs Shane Steichen