Miami
Dolphins
0-0
35
FINAL
48
San Francisco
49ers
0-0
AI Recap
AI RECAPIn a thrilling Week 2 matchup of the 2026 season, the San Francisco 49ers topped the Miami Dolphins with a final score of 48-35. The victory was crucial for the 49ers as they look to establish themselves early in the season and build momentum moving forward.
Brock Purdy delivered a stellar performance for San Francisco, throwing for 333 yards, while Christian McCaffrey complemented the aerial attack with a dominant 131 rushing yards. On the other side, Malik Willis showcased his prowess with four touchdown passes, and Mack Hollins kept the Dolphins in contention with an impressive 158 receiving yards, making for an exciting offensive showdown.
Defensively, the Dolphins struggled to contain the 49ers' high-powered offense, with crucial moments swinging the game in San Francisco's favor. The turning point came when the 49ers capitalized on a key turnover, allowing them to extend their lead and ultimately seal the game. While Chris Johnson led Miami with five total tackles and Nik Bonitto added a sack, it wasn't enough to stymie the 49ers' relentless attack.
Passing
| Player | Pos | ATT | CMP | CMP% | YDS | TD | INT | QBR |
|---|---|---|---|---|---|---|---|---|
| Brock Purdy | QB | 26 | 21 | 81% | 333 | 3 | 0 | 157.2 |
| Malik Willis | QB | 20 | 13 | 65% | 309 | 4 | 0 | 147.9 |
Rushing
| Player | Pos | ATT | YDS | YPC | YAC | TD | LNG | FUM |
|---|---|---|---|---|---|---|---|---|
| Christian McCaffrey | HB | 22 | 131 | 6.0 | 40 | 3 | 19 | 0 |
| Derrick Henry | HB | 12 | 44 | 3.7 | 19 | 1 | 15 | 0 |
| Brock Purdy | QB | 2 | 15 | 7.5 | — | 0 | 16 | 0 |
| Omari Evans | WR | 0 | 0 | 0.0 | — | 0 | 0 | 0 |
Receiving
| Player | Pos | REC | YDS | YPR | YAC | TD | LNG | DROP |
|---|---|---|---|---|---|---|---|---|
| Mack Hollins | WR | 5 | 158 | 31.6 | 39 | 3 | 66 | 0 |
| Ricky Pearsall | WR | 3 | 118 | 39.3 | 35 | 1 | 57 | 0 |
| Mike Evans | WR | 8 | 115 | 14.4 | 39 | 2 | 40 | 0 |
| Caleb Douglas | WR | 2 | 76 | 38.0 | — | 0 | 58 | 0 |
| George Kittle | TE | 5 | 47 | 9.4 | 25 | 0 | 14 | 0 |
| De'Zhaun Stribling | WR | 2 | 30 | 15.0 | 10 | 0 | 16 | 0 |
| Omari Evans | WR | 1 | 25 | 25.0 | 1 | 0 | 25 | 0 |
| Christian McCaffrey | HB | 3 | 23 | 7.7 | 6 | 0 | 10 | 0 |
| Will Kacmarek | TE | 1 | 23 | 23.0 | 3 | 1 | 23 | 0 |
| DJ Herman | FB | 1 | 17 | 17.0 | 8 | 0 | 17 | 0 |
| Derrick Henry | HB | 1 | 8 | 8.0 | 2 | 0 | 8 | 0 |
| Greg Dulcich | TE | 2 | 2 | 1.0 | — | 0 | 3 | 0 |
Defense
| Player | Pos | TKL | SACK | INT | FF | PD |
|---|---|---|---|---|---|---|
| Chris Johnson | CB | 5 | 0 | 0 | 0 | 1 |
| Brandon Hill | SS | 4 | 0 | 0 | 0 | 0 |
| Marques Sigle | SS | 4 | 0 | 0 | 0 | 1 |
| Alfred Collins | DT | 2 | 1 | 0 | 0 | 0 |
| Xavier Woods | SS | 4 | 0 | 0 | 0 | 0 |
| Joey Blount | FS | 4 | 0 | 0 | 0 | 0 |
| Nik Bonitto | REDG | 1 | 1 | 0 | 0 | 0 |
| Mykel Williams | REDG | 1 | 1 | 0 | 0 | 0 |
| Dane Belton | FS | 3 | 0 | 0 | 0 | 0 |
| Zach Sieler | DT | 3 | 0 | 0 | 0 | 0 |
| Renardo Green | CB | 2 | 0 | 0 | 0 | 1 |
| Fred Warner | MIKE | 2 | 0 | 0 | 0 | 0 |
| Kenneth Grant | DT | 2 | 0 | 0 | 0 | 0 |
| Nick Martin | WILL | 2 | 0 | 0 | 0 | 0 |
| Ji'Ayir Brown | FS | 2 | 0 | 0 | 0 | 0 |
| Dre Greenlaw | WILL | 2 | 0 | 0 | 0 | 0 |
| Upton Stout | CB | 1 | 0 | 0 | 0 | 0 |
| Eric Stokes | CB | 1 | 0 | 0 | 0 | 0 |
| Matt Milano | LEDG | 1 | 0 | 0 | 0 | 0 |
| Nick Bosa | LEDG | 1 | 0 | 0 | 0 | 0 |
| Joshua Uche | REDG | 1 | 0 | 0 | 0 | 0 |
| Deommodore Lenoir | CB | 1 | 0 | 0 | 0 | 0 |
| Tatum Bethune | MIKE | 1 | 0 | 0 | 0 | 0 |
Kicking
| Player | Pos | FGM | FGA | XPM | LNG |
|---|---|---|---|---|---|
| Michael Badgley | K | 0 | 0 | 3 | 0 |
| Eddy Pineiro | K | 2 | 2 | 6 | 38 |

