Wide receiver. Marquise Goodwin, who was grieving the loss of his father in the run-up to the game, played 63 of the team's 70 offensive snaps, which alone is impressive considering how far (and how fast) he runs down field on pass-play snaps. Goodwin again led the team in receiving (10 catches, 114 yards) and is 103 yards from reaching 1,000 receiving yards for the season. The most he's had to this point in his career: 431. Among the other receivers, Trent Taylor had 34 snaps, Louis Murphy 33, Kendrick Bourne 31. Aldrick Robinson played four snaps before leaving the game with a concussion.
Tight ends. Garrett Celek caught his career-high fourth touchdown pass in the first half. He's also closing in on a career high for receiving yards. He finished with 350 a year ago. With two games left he has 308 this season. Celek led the tight ends with 46 snaps. George Kittle had 28 and Logan Paulsen 9.
Running backs. The heavy blitzing by the Titans virtually stymied the 49ers' rushing attack. Carlos Hyde played 51 snaps but managed only 1.6 yards a carry, his second lowest of the season. He needs 204 yards in the last two games to reach 1,000 for the season, something he hasn't done to this point in his career. Fullback Kyle Juszczyk played 32 snaps; Matt Breida played 19. Rookie Jeremy McNichols was active for the first time this season. He played 15 snaps on special teams.
Offensive line. The 49ers' five starting offensive linemen played all 70 snaps. Joe Staley had his second straight strong outing. According to Pro Football Focus, he allowed just one hurry and finished with an overall grade of 86.8. Zane Beadles? Filling in for injured Trent Brown at right tackle, he allowed four hurries on the afternoon, and per PFF, had a poor 35 overall grade. Still, the Titans recorded only four official hits on Jimmy Garoppolo, which is low compared to what the 49ers have allowed in other games this year. Backup tackle Darrell Williams Jr. played special teams only; Tim Barnes and quarterback C.J. Beathard were the only 49ers who were in uniform who didn't play in the game.
Never miss a local story.
Linebackers. Reuben Foster twice finished a play by lying still on the grass with teammates kneeling beside him and trainers tending to him. He twice had to go inside the team's medical tent to be checked out. But the rookie linebacker ended up missing just two of the 49ers' 64 snaps of defense. “I think everyone can see, Reuben throws his body around, plays very hard,” Kyle Shanahan said of the linebacker’s injury scares. “He’s already tricked me enough. I told him I’m not coming out there any more...” Foster and fellow inside linebacker Brock Coyle (54) had strong games as the 49ers held the Titans to just 90 rushing yards, the fourth straight game San Francisco's opponent finished under the 100-yard mark. Outside linebacker Eli Harold played just 14 snaps and Dekoda Watson had none on defense as the 49ers continue to use combinations of Aaron Lynch, Cassius Marsh and Elvis Dumervil on the edges when they are in their nickel alignment. Rookie Elijah Lee filled in for Foster on one of the plays he missed; the team was in dime coverage (just one inside linebacker) on the other.
Defensive backs. Ahkello Witherspoon (knee) was a game-time decision, but along with fellow starters Dontae Johnson, Eric Reid and Adrian Colbert, he ended up playing all 64 snaps. Nickel cornerback K'Waun Williams played 45 snaps and had a strong game. Dime back Leon Hall played 16 snaps. Newcomer Tyvis Powell did not play any defensive snaps but played 15 on special teams.
Defensive line. DeForest Buckner bounced back from a couple of down games against Seattle and Chicago with two of his most disruptive the last two weeks. He played 51 snaps and led the 49ers with nine tackles and shared a sack with Tank Carradine. Solomon Thomas played 43 snaps and finished with three tackles, including one behind the line of scrimmage. Sheldon Day continues to look like a fortuitous mid-season find; he played 31 snaps and had two tackles, one behind the line of scrimmage. Another valuable, late pickup: Marsh. He played 34 snaps on defense and another 20 on special teams. The others: Earl Mitchell, 29; Carradine 28; Lynch 20; Dumervil 20.