Detroit beat San Francisco 40-34 at Levi’s Stadium on December 30, 2024. Jared Goff completed 26 of 34 passes for 303 yards and three touchdowns without an interception, while Jahmyr Gibbs rushed for 117 yards and a score. Kerby Joseph intercepted Brock Purdy twice in the second half, and Detroit finished 14-2 with an 8-0 road record.
Table of Contents
Quick Stats
| Final Score | Top Passer | Top Rusher | Top Receiver | Game Changer |
|---|---|---|---|---|
| Lions 40, 49ers 34 | B. Purdy (377 yards, 3 TD, 2 INT) | J. Gibbs (117 yards, 1 TD) | R. Pearsall (141 yards, 1 TD) | K. Joseph (2 INT) |
Game Leaders
| Category | Detroit Lions | San Francisco 49ers |
|---|---|---|
| Passing Yards | J. Goff: 303 (26/34, 3 TD) | B. Purdy: 377 (27/35, 3 TD, 2 INT) |
| Rushing Yards | J. Gibbs: 117 (18 CAR, 1 TD) | I. Guerendo: 34 (9 CAR) |
| Receiving Yards | J. Williams: 77 (5 REC, 1 TD) | R. Pearsall: 141 (8 REC, 1 TD) |
| Sacks | M. Adams: 1.0 | N. Bosa: 2.0 |
| Tackles | J. Campbell: 9 (4 solo) | D. Lenoir: 9 (5 solo) |
| Interceptions | K. Joseph: 2 (39 return yards) | None |
Quarterback Breakdown
Passing Comparison
| Stat | Jared Goff (DET) | Brock Purdy (SF) |
|---|---|---|
| Completions/Attempts | 26/34 | 27/35 |
| Completion % | 76.5% | 77.1% |
| Passing Yards | 303 | 377 |
| Yards Per Attempt | 8.9 | 10.8 |
| Touchdowns | 3 | 3 |
| Interceptions | 0 | 2 |
| Sacks/Yards Lost | 2/16 | 2/12 |
| Passer Rating | 132.4 | 116.0 |
His three touchdown passes went to Jameson Williams (42 yards on a hook and lateral), Sam LaPorta (6 yards), and Amon-Ra St. Brown (4 yards on fourth down). Goff completed 76.5% of his throws with a 132.4 passer rating, his fourth straight game with three or more touchdown passes.
Purdy threw for 377 yards and three touchdowns, but both interceptions came in the second half. Per Pro Football Reference, Purdy’s completion percentage dropped when pressured, and Detroit’s defense capitalized.
Receiving Stats
Detroit Lions
| Player | Position | Receptions | Targets | Yards | Avg | Long | TDs |
|---|---|---|---|---|---|---|---|
| Jameson Williams | WR | 5 | 8 | 77 | 15.4 | 41 | 1 |
| Amon-Ra St. Brown | WR | 8 | 10 | 60 | 7.5 | 14 | 1 |
| Sam LaPorta | TE | 6 | 8 | 64 | 10.7 | 28 | 1 |
| Jahmyr Gibbs | RB | 4 | 4 | 46 | 11.5 | 19 | 0 |
| Craig Reynolds | RB | 2 | 2 | 35 | 17.5 | 26 | 0 |
| Allen Robinson | WR | 1 | 1 | 21 | 21.0 | 21 | 0 |
St. Brown caught eight passes for 60 yards and scored the fourth-down touchdown that gave Detroit their first lead late in the third quarter. Five of his eight receptions converted first downs. Williams added 77 receiving yards on five catches. He scored two touchdowns: one rushing (3 yards) and one receiving (42 yards on the hook and lateral).
San Francisco 49ers
| Player | Position | Receptions | Targets | Yards | Avg | Long | TDs |
|---|---|---|---|---|---|---|---|
| Ricky Pearsall | WR | 8 | 10 | 141 | 17.6 | 40 | 1 |
| George Kittle | TE | 8 | 8 | 112 | 14.0 | 22 | 0 |
| Jauan Jennings | WR | 7 | 10 | 67 | 9.6 | 15 | 0 |
| Isaac Guerendo | RB | 4 | 4 | 65 | 16.3 | 40 | 0 |
| Deebo Samuel | WR | 1 | 1 | 5 | 5.0 | 5 | 1 |
| Kyle Juszczyk | FB | 1 | 2 | 9 | 9.0 | 9 | 1 |
| Chris Conley | WR | 1 | 1 | 13 | 13.0 | 13 | 0 |
Pearsall caught eight passes for 141 yards and a touchdown. Kittle gained 112 yards on eight receptions and topped 1,000 receiving yards for the season. He’s the fifth tight end in NFL history with four career 1,000-yard seasons.
Ground Game
| Player | Team | Carries | Yards | Avg | Long | TDs |
|---|---|---|---|---|---|---|
| Jahmyr Gibbs | DET | 18 | 117 | 6.5 | 30 | 1 |
| Craig Reynolds | DET | 7 | 31 | 4.4 | 9 | 0 |
| Jermar Jefferson | DET | 3 | 9 | 3.0 | 8 | 0 |
| Jameson Williams | DET | 2 | -2 | -1.0 | 3 | 1 |
| Team Total | DET | 33 | 152 | 4.6 | 30 | 2 |
| Isaac Guerendo | SF | 9 | 34 | 3.8 | 11 | 0 |
| Deebo Samuel | SF | 3 | 16 | 5.3 | 9 | 0 |
| Brock Purdy | SF | 3 | 12 | 4.0 | 9 | 1 |
| Joshua Dobbs | SF | 1 | 7 | 7.0 | 7 | 1 |
| Team Total | SF | 18 | 75 | 4.2 | 11 | 2 |
Detroit rushed for 152 yards on 33 attempts and held the ball for 34:52. Gibbs, starting for injured David Montgomery, averaged 6.5 yards per carry and scored on a 30-yard run in the fourth quarter.
Defensive Performance
Detroit Lions
| Player | Position | Total Tackles | Solo | Sacks | TFL | PD | QB Hits |
|---|---|---|---|---|---|---|---|
| Jack Campbell | LB | 9 | 4 | 0 | 0 | 0 | 0 |
| Brian Branch | S | 7 | 4 | 1.0 | 1 | 0 | 1 |
| Terrion Arnold | CB | 6 | 6 | 0 | 0 | 0 | 0 |
| Kerby Joseph | FS | 6 | 5 | 0 | 0 | 2 | 0 |
| Trevor Nowaske | LB | 5 | 3 | 0 | 0 | 0 | 1 |
| Ifeatu Melifonwu | CB | 4 | 4 | 0 | 0 | 0 | 1 |
| Amik Robertson | CB | 2 | 2 | 0 | 0 | 1 | 0 |
Joseph intercepted two Purdy passes intended for Pearsall over the middle. The first came in the third quarter on an overthrow. Joseph returned it 26 yards. The second ended a San Francisco drive in Detroit territory midway through the fourth quarter.
With Carlton Davis III sidelined, Robertson shifted from nickel to outside cornerback. He faced eight targets and allowed four catches for 44 yards. Robertson’s third-down pass breakup on Jauan Jennings in the fourth quarter forced a punt. San Francisco’s next field goal attempt from 58 yards missed.
San Francisco 49ers
| Player | Position | Total Tackles | Solo | Sacks | TFL | PD | QB Hits |
|---|---|---|---|---|---|---|---|
| Deommodore Lenoir | CB | 9 | 5 | 0 | 0 | 0 | 0 |
| Nick Bosa | DE | 8 | 5 | 2.0 | 4 | 0 | 4 |
| Dee Winters | LB | 8 | 3 | 0 | 0 | 0 | 0 |
| Isaac Yiadom | CB | 7 | 6 | 0 | 0 | 0 | 0 |
| Talanoa Hufanga | S | 6 | 5 | 0 | 0 | 0 | 0 |
| Fred Warner | LB | 6 | 3 | 0 | 1 | 0 | 0 |
Bosa recorded two sacks and four quarterback hits. His four tackles for loss slowed Detroit’s offense early, but the Lions adjusted their protection schemes after halftime. Frank Ragnow and Kevin Zeitler combined for zero pressures allowed in the second half, per PFF’s tracking data.
Special Teams
Kicking Comparison
| Kicker | Team | FG Made/Att | Long | XP Made/Att | Points |
|---|---|---|---|---|---|
| Jake Bates | DET | 2/2 | 57 | 2/4 | 8 |
| Jake Moody | SF | 0/2 | 0 | 4/5 | 4 |
Bates kicked field goals from 57 and 42 yards. The 57-yarder trimmed San Francisco’s lead to 28-24 in the third quarter. His eight points moved him past Jason Hanson’s 2012 franchise record for most points in a single season. Moody missed attempts from 51 and 58 yards, and pushed an extra point wide right in the final minute.
Return Game
| Player | Team | Kick Returns | Yards | Avg | Long |
|---|---|---|---|---|---|
| Tom Kennedy | DET | 3 | 86 | 28.7 | 34 |
| Deebo Samuel | SF | 4 | 128 | 32.0 | 37 |
Samuel averaged 32 yards per kick return. Neither team punted in the game.
Team Totals
| Category | Detroit Lions | San Francisco 49ers |
|---|---|---|
| Total Yards | 439 | 475 |
| First Downs | 23 | 29 |
| Third Down Conversions | 9/14 (64%) | 5/8 (63%) |
| Fourth Down Conversions | 2/3 | 1/1 |
| Red Zone Efficiency | 3/4 (75%) | 5/5 (100%) |
| Time of Possession | 34:52 | 25:08 |
| Penalties | 6-57 | 5-30 |
| Turnovers | 0 | 2 |
Detroit held the ball nearly 10 minutes longer and converted 64% of third downs. San Francisco gained more yards but turned the ball over twice.
How the Game Unfolded
San Francisco scored on its first three possessions, taking a 21-13 halftime lead. Purdy started 7-for-7 on the 49ers’ first two drives, connecting with Ricky Pearsall and Kyle Juszczyk for touchdowns before running one in himself. Purdy hit receivers on crossing routes throughout the opening half.
Detroit matched San Francisco’s scoring pace. The hook and lateral to Williams went for 42 yards and a touchdown. St. Brown caught a short slant, immediately pitched to Williams, who raced down the sideline untouched for the score.
Joseph intercepted Purdy’s overthrown pass intended for Pearsall in the third quarter. Detroit scored when Goff hit St. Brown on fourth and goal from the 4-yard line, giving the Lions their first lead at 31-28.
Moody’s missed 58-yard field goal early in the fourth quarter gave Detroit possession at their own 48-yard line. Bates kicked a 42-yard field goal on that drive, making it 34-28. Joseph’s second interception ended San Francisco’s next drive, and Gibbs scored on his 30-yard touchdown run.
Per the NFL’s official recap, Detroit became just the sixth team since 2000 to finish undefeated on the road in a season.
Performance Metrics
St. Brown gained plus-11.5 receiving EPA (Expected Points Added), third-best among all pass catchers in Week 17. Five of his eight receptions converted first downs, including his fourth-down touchdown.
Goff had a 0.0% turnover-worthy play rate for the sixth time in 2024. He threw just 16 turnover-worthy plays (risky throws that could be intercepted) through 16 games, his lowest total since his rookie season.
Gibbs had a 56.4% breakaway rate, second among running backs in Week 17 per Pro Football Focus. He gained 85 yards before contact, his second-highest total of the season.
Robertson allowed four catches on eight targets for 44 yards. His coverage on Jennings in the fourth quarter led to an incompletion on third down, forcing San Francisco to attempt the 58-yard field goal that missed.
Playoff Implications
Detroit’s win gave them a Week 18 matchup with Minnesota (14-2) for the NFC North title and No. 1 seed. San Francisco fell to 6-10 with the loss.
Game Context
Detroit scored 40-plus points six times in 2024. They converted two fourth downs against San Francisco, including Goff’s touchdown pass to St. Brown on fourth and goal from the 4-yard line.
The 30-yard touchdown run came on a zone-read where Sewell and Tim Patrick blocked their defenders to create the opening.
Moody had converted 10 of his last 16 field goal attempts before this game. His two misses from 51 and 58 yards, plus a missed extra point, cost San Francisco seven points in the six-point loss. Per ESPN’s recap, Moody missed nine field goals through 16 games.
For comprehensive coverage of NFL scores and standings, visit Newzire.

