Quick answer
- Winner
- San Francisco 49ers
- Final score
- San Francisco 49ers 31–28 Arizona Cardinals
- Halftime
- San Francisco 49ers 21–3 Arizona Cardinals at halftime
- FantasyHQ MVP
- Cedrick Wilson Jr.
- Top passer
- J. McCown
- Biggest EPA play
- (12:06) 4-A.Lee punts 44 yards to ARI 19, Center-86-B.Jennings. 86-K.Williams MUFFS catch,…
- Game date
- 2004-12-12
Game summary
The San Francisco 49ers beat the Arizona Cardinals 31–28 on 2004-12-12. Cedrick Wilson Jr. posted a game-high +11.62 total EPA in the receiving.
The highest-scoring period was Q4 with 18 combined points.
Line score
Final score and points by quarter.
| Q1 | Q2 | Q3 | Q4 | OT | T | |
|---|---|---|---|---|---|---|
| 7 | 14 | 7 | 0 | 3 | 31 | |
| 0 | 3 | 7 | 18 | 0 | 28 |
Stars of the game
Top performers by total expected points added (EPA).
- 1

Cedrick Wilson Jr. · San Francisco 49ers · Receiving · +11.62 total EPA · 5 snaps · +2.32 EPA/play - 2
A. Boldin · Arizona Cardinals · Receiving · +11.47 total EPA · 9 snaps · +1.27 EPA/play - 3

Buddy Johnson · Arizona Cardinals · Receiving · +6.84 total EPA · 4 snaps · +1.71 EPA/play - 4
J. McCown · Arizona Cardinals · Passing · +5.59 total EPA · 45 snaps · +0.12 EPA/play - 5

Khalil Dorsey · San Francisco 49ers · Passing · +4.55 total EPA · 36 snaps · +0.13 EPA/play - 6
L. Fitzgerald · Arizona Cardinals · Receiving · +3.90 total EPA · 4 snaps · +0.98 EPA/play - 7
B. Lloyd · San Francisco 49ers · Receiving · +3.72 total EPA · 2 snaps · +1.86 EPA/play - 8

Anthony Walker · San Francisco 49ers · Receiving · +2.89 total EPA · 1 snaps · +2.89 EPA/play
FantasyHQ Game MVP
Highest total EPA with the player's top snap and the game's biggest single play when different.

FantasyHQ Game MVP
Cedrick Wilson Jr. — SF · Receiving
Cedrick Wilson Jr. posted the highest total EPA (+11.62) in the game, the strongest overall impact for San Francisco 49ers. Across 5 counted snaps, they averaged +2.32 EPA per play.
Cedrick Wilson Jr.'s top snap (+4.23 EPA): (10:04) 7-K.Dorsey pass to 84-C.Wilson for 27 yards, TOUCHDOWN.
Biggest single play (+5.92 EPA): A. Lee — (12:06) 4-A.Lee punts 44 yards to ARI 19, Center-86-B.Jennings. 86-K.Williams MUFFS catch, touched at ARI 11, RECOVERED by SF-28-K.Lewis at ARI 11.
Quarterback report card
J. McCown led all passers in efficiency for Arizona Cardinals, setting the tone in the passing game according to FantasyHQ analytics.
J. McCown (Arizona Cardinals) · 45 dropbacks · 57.8% completion · +0.12 EPA/play · +5.59 total EPA
Khalil Dorsey (San Francisco 49ers) · 36 dropbacks · 50.0% completion · +0.13 EPA/play · +4.55 total EPA
Team stats comparison
Side-by-side offensive and defensive efficiency.
| Stat | ||
|---|---|---|
| Offensive EPA/play | +0.137 | +0.091 |
| Offensive success rate | 38.2% | 44.0% |
| Pass EPA/play | +0.112 | +0.123 |
| Rush EPA/play | -0.080 | +0.063 |
| Defensive EPA/play | -0.091 | -0.137 |
| Defensive success rate | 56.0% | 61.8% |
Drive & efficiency notes
Both offenses finished within striking distance on EPA per play (San Francisco 49ers +0.14, Arizona Cardinals +0.09) — a true toss-up on the analytics sheet.
Season benchmark context (offensive EPA per play):
- San Francisco 49ers: +0.14 EPA/play (81st percentile vs. 2004 team-game averages)
- Arizona Cardinals: +0.09 EPA/play (69th percentile vs. 2004 team-game averages)
- Arizona Cardinals: 13 drives, +8.29 total EPA, 5 scoring drives
- San Francisco 49ers: 15 drives, +13.97 total EPA, 5 scoring drives
Who scored touchdowns and field goals
Every touchdown and field goal from official play-by-play.
Touchdowns
San Francisco 49ers — B. Lloyd (Khalil Dorsey pass) 
San Francisco 49ers — Cedrick Wilson Jr. (Khalil Dorsey pass)
San Francisco 49ers — M. Hicks 
San Francisco 49ers — Cedrick Wilson Jr. (Khalil Dorsey pass)
Arizona Cardinals — O. Ayanbadejo
Arizona Cardinals — O. Ayanbadejo
Arizona Cardinals — Elerson G. Smith
Field goals
Arizona Cardinals — N. Rackers
Arizona Cardinals — N. Rackers
San Francisco 49ers — T. Peterson
Quarter by quarter
Quarter-by-quarter recap from live scoring plays.
The opening quarter: San Francisco 49ers won the period 7–0. San Francisco 49ers found the end zone from the ARI 5 (Q1 9:52) — (9:52) 7-K.Dorsey pass to 85-B.Lloyd for 5 yards, TOUCHDOWN.; San Francisco 49ers added 1 points from the ARI 2 (Q1 9:48) — 2-T.Peterson extra point is GOOD, Center-86-B.Jennings, Holder-4-A.Lee..
The second quarter: San Francisco 49ers won the period 14–3. San Francisco 49ers found the end zone from the ARI 19 (Q2 13:41) — (13:41) 7-K.Dorsey pass to 84-C.Wilson for 19 yards, TOUCHDOWN. Play Challenged by ARI and Upheld. (Timeout #2 by ARI at 13:36.); San Francisco 49ers added 1 points from the ARI 2 (Q2 13:36) — 2-T.Peterson extra point is GOOD, Center-86-B.Jennings, Holder-4-A.Lee.; San Francisco 49ers found the end zone from the ARI 1 (Q2 8:24) — (8:24) 43-M.Hicks left tackle for 1 yard, TOUCHDOWN.; San Francisco 49ers added 1 points from the ARI 2 (Q2 8:19) — 2-T.Peterson extra point is GOOD, Center-86-B.Jennings, Holder-4-A.Lee.; Arizona Cardinals connected on a field goal from the SF 27 (Q2 3:21) — (3:21) 1-N.Rackers 44 yard field goal is GOOD, Center-48-N.Hodel, Holder-10-S.Player..
The third quarter: The quarter finished even at 7–7. San Francisco 49ers found the end zone from the ARI 27 (Q3 10:04) — (10:04) 7-K.Dorsey pass to 84-C.Wilson for 27 yards, TOUCHDOWN.; San Francisco 49ers added 1 points from the ARI 2 (Q3 9:57) — 2-T.Peterson extra point is GOOD, Center-86-B.Jennings, Holder-4-A.Lee.; Arizona Cardinals found the end zone from the SF 4 (Q3 2:04) — (2:04) 30-O.Ayanbadejo left tackle for 4 yards, TOUCHDOWN.; Arizona Cardinals added 1 points from the SF 2 (Q3 1:59) — 1-N.Rackers extra point is GOOD, Center-48-N.Hodel, Holder-10-S.Player..
The fourth quarter: Arizona Cardinals won the period 18–0. Arizona Cardinals found the end zone from the SF 1 (Q4 12:01) — (12:01) 30-O.Ayanbadejo left tackle for 1 yard, TOUCHDOWN.; Arizona Cardinals added 1 points from the SF 2 (Q4 11:53) — 1-N.Rackers extra point is GOOD, Center-48-N.Hodel, Holder-10-S.Player.; Arizona Cardinals found the end zone from the SF 8 (Q4 2:47) — (2:47) (Shotgun) 22-E.Smith right tackle for 8 yards, TOUCHDOWN.; Arizona Cardinals registered a safety from the SF 2 (Q4 2:40) — (Pass formation) TWO-POINT CONVERSION ATTEMPT. 12-J.McCown rushes right tackle. ATTEMPT SUCCEEDS.; Arizona Cardinals connected on a field goal from the SF 4 (Q4 1:03) — (1:03) 1-N.Rackers 22 yard field goal is GOOD, Center-48-N.Hodel, Holder-10-S.Player..
Overtime: San Francisco 49ers won the period 3–0. San Francisco 49ers connected on a field goal from the ARI 13 (OT 8:41) — (8:41) 2-T.Peterson 31 yard field goal is GOOD, Center-86-B.Jennings, Holder-4-A.Lee..
Turning points
Plays that moved win probability the most.
- San Francisco 49ers (OT 10:21) — (10:21) (Shotgun) 7-K.Dorsey pass to 84-C.Wilson to ARI 37 for 19 yards (27-D.Macklin, 51-J.Darling).
- San Francisco 49ers (Q4 2:24) — (2:24) 22-T.Jackson up the middle to SF 19 for 11 yards (51-J.Darling). FUMBLES (51-J.Darling), RECOVERED by ARI-27-D.Macklin at SF 21. 27-D.Macklin to SF 20 for 1 yard (84-C.Wilson).
- San Francisco 49ers (OT 12:37) — (12:37) 7-K.Dorsey pass incomplete to 22-T.Jackson (51-J.Darling).
- San Francisco 49ers (Q1 12:06) — (12:06) 4-A.Lee punts 44 yards to ARI 19, Center-86-B.Jennings. 86-K.Williams MUFFS catch, touched at ARI 11, RECOVERED by SF-28-K.Lewis at ARI 11.
- Arizona Cardinals (OT 11:13) — (11:13) 10-S.Player punts 51 yards to SF 42, Center-48-N.Hodel. 83-A.Battle to ARI 49 for 9 yards (29-Q.Harris).
Impact plays
Highest EPA snaps that flipped field position.
- San Francisco 49ers (Q1 12:06) — (12:06) 4-A.Lee punts 44 yards to ARI 19, Center-86-B.Jennings. 86-K.Williams MUFFS catch, touched at ARI 11, RECOVERED by SF-28-K.Lewis at ARI 11.
- San Francisco 49ers (Q3 10:04) — (10:04) 7-K.Dorsey pass to 84-C.Wilson for 27 yards, TOUCHDOWN.
- Arizona Cardinals (Q2 11:35) — (11:35) 12-J.McCown pass intended for 11-L.Fitzgerald INTERCEPTED by 33-T.Parrish at SF 31. 33-T.Parrish to ARI 44 for 25 yards (30-O.Ayanbadejo).
- Arizona Cardinals (Q1 7:04) — (7:04) 12-J.McCown pass to 80-B.Johnson to SF 15 for 40 yards (27-J.Hanson).
Every scoring play
Chronological scoring with play-by-play context.
San Francisco 49ers TD (+6) — Q1 9:52 · ARI 5 · Score 6-0
(9:52) 7-K.Dorsey pass to 85-B.Lloyd for 5 yards, TOUCHDOWN.
San Francisco 49ers XP (+1) — Q1 9:48 · ARI 2 · Score 7-0
2-T.Peterson extra point is GOOD, Center-86-B.Jennings, Holder-4-A.Lee.
San Francisco 49ers TD (+6) — Q2 13:41 · ARI 19 · Score 13-0
(13:41) 7-K.Dorsey pass to 84-C.Wilson for 19 yards, TOUCHDOWN. Play Challenged by ARI and Upheld. (Timeout #2 by ARI at 13:36.)
San Francisco 49ers XP (+1) — Q2 13:36 · ARI 2 · Score 14-0
2-T.Peterson extra point is GOOD, Center-86-B.Jennings, Holder-4-A.Lee.
San Francisco 49ers TD (+6) — Q2 8:24 · ARI 1 · Score 20-0
(8:24) 43-M.Hicks left tackle for 1 yard, TOUCHDOWN.
San Francisco 49ers XP (+1) — Q2 8:19 · ARI 2 · Score 21-0
2-T.Peterson extra point is GOOD, Center-86-B.Jennings, Holder-4-A.Lee.
Arizona Cardinals FG (+3) — Q2 3:21 · SF 27 · Score 21-3
(3:21) 1-N.Rackers 44 yard field goal is GOOD, Center-48-N.Hodel, Holder-10-S.Player.
San Francisco 49ers TD (+6) — Q3 10:04 · ARI 27 · Score 27-3
(10:04) 7-K.Dorsey pass to 84-C.Wilson for 27 yards, TOUCHDOWN.
San Francisco 49ers XP (+1) — Q3 9:57 · ARI 2 · Score 28-3
2-T.Peterson extra point is GOOD, Center-86-B.Jennings, Holder-4-A.Lee.
Arizona Cardinals TD (+6) — Q3 2:04 · SF 4 · Score 28-9
(2:04) 30-O.Ayanbadejo left tackle for 4 yards, TOUCHDOWN.
Arizona Cardinals XP (+1) — Q3 1:59 · SF 2 · Score 28-10
1-N.Rackers extra point is GOOD, Center-48-N.Hodel, Holder-10-S.Player.
Arizona Cardinals TD (+6) — Q4 12:01 · SF 1 · Score 28-16
(12:01) 30-O.Ayanbadejo left tackle for 1 yard, TOUCHDOWN.
Arizona Cardinals XP (+1) — Q4 11:53 · SF 2 · Score 28-17
1-N.Rackers extra point is GOOD, Center-48-N.Hodel, Holder-10-S.Player.
Arizona Cardinals TD (+6) — Q4 2:47 · SF 8 · Score 28-23
(2:47) (Shotgun) 22-E.Smith right tackle for 8 yards, TOUCHDOWN.
Arizona Cardinals Safety (+2) — Q4 2:40 · SF 2 · Score 28-25
(Pass formation) TWO-POINT CONVERSION ATTEMPT. 12-J.McCown rushes right tackle. ATTEMPT SUCCEEDS.
Arizona Cardinals FG (+3) — Q4 1:03 · SF 4 · Score 28-28
(1:03) 1-N.Rackers 22 yard field goal is GOOD, Center-48-N.Hodel, Holder-10-S.Player.
San Francisco 49ers FG (+3) — OT 8:41 · ARI 13 · Score 31-28
(8:41) 2-T.Peterson 31 yard field goal is GOOD, Center-86-B.Jennings, Holder-4-A.Lee.
Key takeaways
What to remember for fantasy research and follow-up box score digging.
- San Francisco 49ers earned the result — use the box score for snap-level context.
- One-score margin — verify garbage-time stats before drawing fantasy conclusions.
- Cedrick Wilson Jr. (San Francisco 49ers) led total EPA — start here for highlight and prop research.
Frequently asked questions
Who won San Francisco 49ers vs Arizona Cardinals on 2004-12-12?
The San Francisco 49ers beat the Arizona Cardinals 31-28 in Week 14, 2004.
What was the score by quarter in San Francisco 49ers vs Arizona Cardinals?
Q1: San Francisco 49ers 7, Arizona Cardinals 0; Q2: San Francisco 49ers 14, Arizona Cardinals 3; Q3: San Francisco 49ers 7, Arizona Cardinals 7; Q4: San Francisco 49ers 0, Arizona Cardinals 18; Q5: San Francisco 49ers 3, Arizona Cardinals 0; Final: San Francisco 49ers 31, Arizona Cardinals 28.
Who scored touchdowns and field goals in San Francisco 49ers vs Arizona Cardinals?
San Francisco 49ers touchdown — B. Lloyd (K. Dorsey pass) (Q1 9:52) San Francisco 49ers touchdown — C. Wilson (K. Dorsey pass) (Q2 13:41) San Francisco 49ers touchdown — M. Hicks (Q2 8:24) San Francisco 49ers touchdown — C. Wilson (K. Dorsey pass) (Q3 10:04) Arizona Cardinals touchdown — O. Ayanbadejo (Q3 2:04) Arizona Cardinals touchdown — O. Ayanbadejo (Q4 12:01) Arizona Cardinals touchdown — E. Smith (Q4 2:47) Arizona Cardinals field goal — N. Rackers (Q2 3:21, 3 pts) Arizona Cardinals field goal — N. Rackers (Q4 1:03, 3 pts) San Francisco 49ers field goal — T. Peterson (OT 8:41, 3 pts) Extra points followed each touchdown unless noted in the play-by-play.
How did the quarterbacks play in San Francisco 49ers vs Arizona Cardinals?
J. McCown (Arizona Cardinals), 57.8% completion, +0.12 EPA per dropback, +5.59 total passing EPA. Khalil Dorsey (San Francisco 49ers), 50.0% completion, +0.13 EPA per dropback, +4.55 total passing EPA.
Who was FantasyHQ's player of the game in San Francisco 49ers vs Arizona Cardinals?
Cedrick Wilson Jr. (San Francisco 49ers) was FantasyHQ's Game MVP with +11.62 total EPA on Receiving plays. across 5 snaps. Their top snap (+4.23 EPA): (10:04) 7-K.Dorsey pass to 84-C.Wilson for 27 yards, TOUCHDOWN..
Was San Francisco 49ers vs Arizona Cardinals a close game?
Yes — the margin was 3 points. San Francisco 49ers won 31-28 in a game that came down to the wire.
Season records after this game
San Francisco 49ers
Entered 1-11 Now 2-11 W
Arizona Cardinals
Entered 4-8 Now 4-9 L