SANTA CLARA – Here is how the 49ers (2-0) graded in Sunday’s 35-13, home-opening win over the Miami Dolphins (0-2):

PASS OFFENSE: A

“Brocktober” came early. By going 20-of-22, Brock Purdy’s 90.9 completion percentage ranked only behind his 20-of-21 effort in a 35-16 home win over Arizona in October 2023. Purdy’s incompletions this time: a Deebo Samuel drop on pass No. 3, and an intentional-grounding throwaway on pass No. 22. His confidence was best displayed by two completions to Mike Evans, one on a blitz beater over the middle and the other a pump-fake that hit Evans in stride to the 1-yard line. A 40-yarder to Kittle opened the second-half onslaught, with Purdy then throwing touchdowns to Kittle and Juszczyk. No sacks through two games.

RUN OFFENSE: B

Christian McCaffrey’s pair of 1-yard touchdown runs raised his total to 100 career touchdowns, and he’s not stopping there, as Juszczyk coyly noted afterward. There wasn’t much space for McCaffrey as a 5-yard run marked the longest of his 10 carries for 23 yards. Kaelon Black (seven carries, 25 yards) pushed through last week’s groin issue before mop-up duty went to Jordan James’ season debut (four carries, 14 yards). Purdy’s 30 rushing yards came on a second-quarter series he finished with a 2-yard score.

PASS DEFENSE: B

The 49ers sacked Malik Willis four times and allowed 197 yards, 77 of which came on a garbage-time touchdown that Upton Stout yielded. More sacks could have come, if not for Willis’ elusiveness. Nick Bosa split a sack but he also forced offensive tackles to commit a pair of holding penalties. Keion White made up for a roughing-the-passer penalty on third down with a fourth-quarter sack. Stout had the only pass breakup. Four of Miami’s third-down conversions before halftime were via completions.

RUN DEFENSE: B

Bosa correctly identified this unit as the No. 1 area to clean up through two games. A five-man front couldn’t stop Miami from playing first-half ballhog. The Dolphins averaged just 3.5 yards per carry, but De’Von Achane (20 carries, 74 yards) posed a credible threat. Short-yardage conversions also hurt. But the 49ers’ red zone defense held firm and forced field-goal attempts on each of Miami’s three possessions before halftime. Safety Ji’Ayir Brown had a team-high 12 tackles.

SPECIAL TEAMS: A-

Eddy Piñeiro assured everyone Saturday he could push through a week-long illness, and it probably helped that his duties consisted of just five point-after kicks and six kickoffs (average starting position: 32-yard line). Brayden Willis smothered Miami punter Bradley Pinion on a botched attempt in the third-quarter surge. Both of Corliss Waitman’s punts pinned Miami inside the 20. Returners Jacob Cowing and Deebo Samuel were fine.

COACHING: A

Kyle Shanahan insisted that the 49ers’ opening two wins were not a package deal for how they overcame an Australian adventure. But the 49ers showed no signs of jet lag nor letup. Purdy praised Shanahan’s play-calling and timely orders for big plays.