Defensive line. The 49ers defender who played the most snaps Sunday wasn't DeForest Buckner or Solomon Thomas. It was Leger Douzable, who played 57 of 70 possible snaps and who was productive throughout the day. Douzable, who only signed two weeks ago, finished with two sacks and five tackles. Other newcomers along the line are Tony McDaniel (15 snaps) and Datone Jones (8). Buckner's snap count has been more moderate in recent games. He played 55 snaps while Earl Mitchell played 51. Thomas, who suffered an MCL sprain, played 32 while fellow rookie D.J. Jones (knee) played eight snaps.
Linebackers. Brock Coyle started in place of Reuben Foster and, along with safety Jaquiski Tartt, played all 70 defensive snaps. Ray-Ray Armstrong played 36 snaps at weak-side linebacker while Eric Reid got 33. At outside linebacker, Eli Harold played 46 snaps; Dekoda Watson played 12.
Cornerback. Ahkello Witherspoon started his first game and played all but one defensive snap. Dontae Johnson started opposite Witherspoon. He played 53 snaps while Rashard Robinson played 16. Veteran Leon Hall played 33 snaps at nickel cornerback in place of injured K'Waun Williams (quad).
Safety. Tartt again was the team's snap leader when special teams plays are tallied into the total. He also was instrumental in holding LeGarrette Blount and the Eagles running game in check. Tartt and Coyle finished with a team-high seven tackles. Jimmie Ward played 15 snaps before breaking his arm and giving way to rookie Adrian Colbert, who played 55 snaps. Dexter McCoil was inactive but likely will have a role moving forward if Ward goes on injured reserve.
Offensive line. Erik Magnuson was the emergency backup at guard and center. The undrafted rookie ended up playing 41 snaps at right tackle with Trent Brown (concussion), Garry Gilliam (knee) and Joe Staley (eye) on the sideline. Starters Daniel Kilgore, Laken Tomlinson and Brandon Fusco played all 66 snaps. Fusco's were notable/admirable considering he was laboring at the end of the game with a biceps injury. Fusco was in enough pain to have trouble taking off his uniform afterward. Underappreciated Zane Beadles played 51 snaps at left and right tackle; Staley played 25.
Receivers. Pierre Garcon injured his neck and did not finish the game but indicated he should be OK moving forward. He played 32 snaps, Marquise Goodwin played 43. Trent Taylor played 39 snaps, Aldrick Robinson played 30 while undrafted rookie Kendrick Bourne was on the field for 24 snaps. Underscoring his trouble throwing deep and his lack of protection, C.J. Beathard targeted Goodwin three times, Robinson twice and Bourne twice but did not complete a pass to any of them.
Running back. The 49ers' leading rusher was Beathard, who had 40 yards on six carries. With the deep passing game non-existent, the Eagles could tee off on Carlos Hyde and his stats reflected that. He averaged 2.1 yards on 12 carries, the third time in the last four games he's been held under 2.2 yards a run. Matt Breida had five carries for 17 yards and was more effective than Hyde as a pass catcher. He held onto four of six passes that went his way, including a 21-yard touchdown on a shovel pass. Beathard was four of nine when throwing to Hyde.
Tight end. George Kittle led the tight ends with 41 snaps. When Beathard first started playing two weeks ago, it looked as if Kittle would be his favorite target. However, he connected with his college tight end only two times for 22 yards Sunday. Garrett Celek would have been the 49ers' emergency tackle if they had suffered any more offensive line injuries. He played 26 snaps; Cole Hikutini played nine. Fullback Kyle Juszczyk, who missed the last two games, played 20 of 66 snaps.