Rushing offense

The Eagles averaged just 3.3 yards per carry against the 49ers. Miles Sanders, who had 95 rushing yards in each of the last 2 games, was held to 46 by the Niners. Carson Wentz was the team’s most productive runner with 37 yards on 7 carries. He had four rushing first downs and an 11-yard touchdown run.

Grade: C-plus

Passing offense

Carson Wentz was under pressure much of the game, but came through in the clutch when he hit Travis Fulgham with a 42-yard touchdown pass with 5:50 left in the game to put the Eagles ahead. His fourth-and-4 slant pass to rookie John Hightower four plays earlier kept the drive alive. The Niners shut down Wentz’s go-to receiver, tight end Zach Ertz, who had just 4 catches for 9 yards.

Grade: C-plus

Rushing defense

The Niners averaged 5.8 yards per carry against the Eagles, rushing for 116 yards on 20 carries. But 38 of those 116 yards came on a run by wide receiver Brandon Aiyuk. They held the Niners to four rushing first downs. Just 2 of their last 14 carries gained more than 5 yards.

Grade: B-minus

Passing defense

The Eagles, who didn’t have an interception in their first 3 games, had 2 Sunday, including a big one late in the game by linebacker Alex Singleton, which he returned 30 yards for a touchdown. They also had five sacks, including a strip-sack by cornerback Cre’Von LeBlanc that set up the Eagles' go-ahead touchdown drive. They did have more than a little trouble with TE George Kittle, who caught 15 passes for 183 yards against him. But they managed to survive the damage.

Grade: B-minus

Special teams

Jake Elliott had a 35-yard field goal late in the third quarter. Cam Johnston had another big game, averaging 51.2 yards per punt and putting 3 of his 6 punts inside the 20. The Eagles' punt coverage unit held the Niners to 3.0 yards on 2 returns.

Grade: B-plus

Overall

Nobody gave the Eagles a chance in this game, except them. Their defense, which hadn’t forced a single turnover in the first three games, forced three of them Sunday night, including LeBlanc’s strip-sack and a 30-yard interception return for a touchdown by linebacker Alex Singleton. They sacked Nick Mullens five times and got pressure on him when they needed it late in the game. And Carson Wentz made some big plays, including an 11-yard touchdown run and a 42-yard touchdown pass to Travis Fulgham.

Grade: B-plus