The San Francisco 49ers dominated the Miami Dolphins. It’s not often the scoreboard tells the full story, but they beat up on the Fins as much as 35-13 indicates.
It was a relatively clean game for the Niners in all three phases. Any concerns about jet lag and an emotional letdown were quelled after the offense’s first drive. Brock Purdy capitalized on an aggressive game plan from Kyle Shanahan. The Dolphins offense couldn’t keep pace, and that’s how you end up winning by three touchdowns.
Let’s look
at the snap counts from this game and see what they mean for the depth chart hierarchy and what we can ascertain moving forward.
Quarterback
Brock Purdy: 42
Mac Jones: 7
You know things are going your way when you can put in a backup quarterback in the fourth quarter.
That’s because the starter had an 80% passing success rate, which would be tough to do in practice. Purdy faced a blitz on 40% of his dropbacks, but you’d never know by his results. He had a “wow” throw and a couple of other impact plays. He rushed for 30 yards, which aided the offense when nobody was open. Purdy knows when to pick and choose his spots.
He wasn’t perfect, but he wasn’t far off.
Running backs
Christian McCaffrey: 27
Kyle Juszczk: 23
Kaelon Black: 15
Jordan James: 7
McCaffrey led the team with 10 carries. This was a game where you don’t need to give CMC a bunch of touches, so credit the coaching staff for using a player like James in the fourth quarter. None of the running backs averaged more than four yards per carry.
Here’s a funny stat: Black ran for 25 yards, with 28 of those coming after contact. McCaffrey ran for 23 yards, with 27 of those coming after contact.
The 49ers didn’t need to run the ball because they were averaging a first down almost every time they dropped back to throw.
Pass catchers
Deebo Samuel: 30
Mike Evans: 28
George Kittle: 25
Luke Farrell: 25
Jacob Cowing: 22
KhaDarel Hodge: 17
Demarcus Robinson: 16
Brayden Willis: 11
Deebo ran more routes than anybody. Deebo and Kittle were the most targeted, but it was Kittle who ran away with most of the production.
The average yards of separation numbers are silly. Kittle’s was 5.4. Deebo’s was 5.1. Robinson’s was 4.7. Evans was the only player under three. The scheme took advantage of a bunch of rookies.
We’ll see how the 49ers replace Robinson, who clearly had built a rapport with Purdy. Maybe it’s more Deebo? Do they trust Cowing in that role? The better football shape Kittle gets in, the more he’ll be used, too.
Offensive line
Connor Colby: 49
Colton McKivitz: 49
Dominick Puni: 44
Jake Brendel: 42
Trent Williams: 42
Jarett Patterson: 7
Vederian Lowe: 7
Carver Willis: 5
Patterson came in for Brendel—Lowe for Trent, and Willis for Puni. The 49ers allowed only three pressures in the afternoon—one from Colby, McKivitz, and Williams.
Every lineman was credited with at least two impact plays, save for Puni. Williams had three impact plays.
No penalties of any kind for this group. Only 7.4% of their carries were stuffed, which was the fourth-best mark of the week. This unit will be underrated for most of the season.
Defensive tackles
Osa Odighizuwa: 37 (66.1%)
Gracen Halton: 30 (53.6)
CJ West: 26 (46.4%)
James Thompson Jr.: 19 (33.9%)
Around the third quarter in Week 1, it was obvious that rookie Gracen Halton was the best option at defensive tackle next to Osa Odighizuwa:
Technically, Halton started. The 49ers came out in a true man-front to begin the game. Morris replaced one rookie with another: Jaden Dugger off, Halton in.
Morris stayed with that front in the first drive. Thompson Jr. subbed in for Halton after a handful of plays. On third and long, Odighizuwa was the only defensive tackle on the field.
He doesn’t have many options at the position, but Morris is adapting to his personnel. It’s telling that Halton has already jumped West in snaps. It’s not surprising, though.
Halton had a pressure rate of 21.4%, which was seven percentage points higher than Odighizuwa. Halton had a stuffed run and three run stops. None of the other defensive tackles had any. Halton looks like the real deal.
EDGE rushers
Nick Bosa: 36 (64.3%)
Keion White: 30 (53.6%)
Romello Height: 29 (51.8%)
Ogbo Okoronkwo: 16 (28.6)
Khalid Kareem: 11 (19.6%)
White didn’t start, but still outsnapped Height. He outplayed the rookie, too. Height had one more pressure, but White added a run stuff and was in the backfield more. Both players notched sacks, which is what you want from your depth players.
Life is much easier when Bosa is on the field. Bosa’s pressure percentage was 27.8%. He won at a 22.2% clip, which is hilariously high. Bosa added a pair of run stops. You’d have no idea that Bosa is coming off a season-ending ACL injury.
Linebacker
Fred Warner: 46 (82.1%)
Dre Greenlaw: 39 (69.6%)
Jaden Dugger: 18 (32.1%)
Garret Wallow: 11 (19.6%)
Luke Gifford: 1 (1.8%)
For the second week in a row, Wallow replaced Greenlaw at WILL linebacker when Morris was expecting the offense to pass. In the fourth quarter, once the game was out of hand, Wallow was the lone dime linebacker on the field. It’s evident that Morris views Wallow as an asset in coverage, based on his usage.
That might be because Greenlaw allowed all five of his targets to be completed for 40 yards. Greenlaw missed one tackle, but had two run stops, a run stuff, and continues to be aggressive on run plays.
Warner had a “hustle” stop and one other. He also notched a half sack and a quarterback pressure on four pass rushes. He was the only linebacker to rush the passer. Warner extended his forced fumble streak to two games. And yes, we will track that all season.
Dugger is mostly a run-first player early on in his career. He played 12 run-down snaps compared to six coverage snaps. He’s still making plays. Per Sumer Sports, Dugger’s three impact plays were one more than Warner and Greenlaw.
Cornerback
Renardo Green: 55 (98.2%)
Deommodore Lenoir: 52 (92.9%)
Upton Stout: 30 (53.6%)
Jack Jones: 9 (16.1%)
Morris used dime personnel 10.7% of the time in Week 2, which was the seventh-highest rate. As he continues to tinker with his personnel, Jones on the field with Lenoir and Stout on the inside remains the 49ers best coverage unit.
On six plays, they averaged -0.24 EPA per play. That’s with the touchdown allowed, which skews the stats. Still, the Niners had a sack in this package and allowed 21 total yards on the other plays.
Green was only targeted once. He had a pair of run stops, including one “hustle” stop — which is when you chase down a play from 20 yards away. In my mind, it’s more impressive when you’re not targeted. That tells me you are forcing the quarterback to look elsewhere because the receiver isn’t open.
Stout had one of those as well. Stout allowed the touchdown, but had a pressure on his only pass rush, and chipped in for three run stops. Stout will be one of the most important defenders on the team this season.
The theme is the cornerbacks tackle, as Lenoir also had three run stops. He gave up a first down, but when you’re only allowing 12 yards in a game, you’re doing plenty in coverage.
Jones allowed one of his two targets to be completed. He joined Stout in the pass breakup category.
Safeties
Marques Sigle: 55 (98.2%)
Ji’Ayir Brown: 52 (92.9%)
Malik Mustapha: 3 (5.4%)
Mustapha played the final series of the game once it was out of hand. Brown comes off the field when the 49ers are in their goal-line package. Sigle’s speed showed up on a sack.
It seems like Sigle’s main priority in Raheem Morris’s defense is to take routes away before they can be thrown. He was only targeted once all game. Sigle had six tackles, but had three run stops.
The team leader in run stops for the game was Brown, who had eight. Brown’s 12 tackles were four more than any other defender. The most impressive stat for Brown was his zero missed tackles. Plus, he only allowed one reception.
It still makes you wonder whether we’ll see Mustapha get a chance, or how long the starters’ leashes are.













