San Francisco 49ers

Five takeaways from 49ers preseason finale: Who helped their roster status?

The preseason is over for the 49ers. And perhaps the best news for Kyle Shanahan and John Lynch is they have no significant injuries to their expected starters ahead of their opening trip to the Minnesota Vikings.

San Francisco to the Chargers 23-21 Thursday on a 26-yard field goal from Roberto Aguayo as time expired and fell to 1-3 over the exhibition slate. It came after Jeremy McNichols’ go-ahead six-yard touchdown run with 3:02 remaining, giving the 49ers a 21-20 lead after falling behind 20-7 early in the third quarter. As expected, the 49ers and Chargers sat the vast majority of their starters.

Fourth-string quarterback Jack Heneghan made his preseason debut after seeing very few practice reps this summer, orchestrating two 49ers touchdown drives and completing 8 of 9 passes. But Los Angeles got a 63-yard kickoff return from Detrez Newsome to San Francisco’s territory following McNichols’ score setting up the decisive field goal. Here are five takeaways from Thursday’s preseason finale at Levi’s Stadium.

Solomon Thomas makes the most of his playing time

Shanahan said this week he might consider playing Solomon Thomas or Arik Armstead on Thursday to sharpen up before the opener after missing time during the preseason. Armstead sat, despite missing the first two exhibitions with a hamstring injury. Thomas started and looked like a first-round pick among players competing for their NFL lives.

The No. 3 selection in 2017 logged two tackles for loss on Chargers running plays and a third-down quarterback pressure that led to a field-goal attempt on the first possession. That’s all the coaching staff needed to see. Thomas answered whatever lingering questions there might have been after he suffered a concussion in the first quarter of the exhibition opener against Dallas.

Shanahan said afterward the decision to play was agreed upon with Thomas beforehand.

“Solly missed the week at Houston and he got to back (in) last week,” he said. “He wanted to play a little bit more. I thought it’d be good for him. It was one long drive. He was able to make a couple plays and he got out there.”

The Chargers wound up going 12 plays and 42 yards before kicking a field goal on the possession. Shanahan said Thomas came out of the game healthy, which was the most important thing.

Reuben Foster gets back in action following concussion

The 49ers wanted to get Foster plenty of work this preseason because of his two-game suspension to start the season. But they were unsure that would be possible following his concussion on Saturday against the Colts.

“He’s not going to play in these first two games, so it’s going to be a while for him to get that chance,” Shanahan said. “So once he got out of the protocol and felt good, that’s what we planned on doing all along, if he was healthy.”

Foster progressed through concussion protocol quickly enough to play Thursday. He was given three series and was credited with two tackles, including a big hit on Chargers running back Detrez Newsome for a six-yard loss on a screen play. Foster hit Newsome with his typical force, but managed to wrap up properly and avoid getting flagged for leading with his head, or doing any damage to his oft-injured shoulders.

The 49ers sat Fred Warner and Malcolm Smith, who are the favorites to start at inside linebacker Week 1. Brock Coyle remains in that mix and played well into the second half. Elijah Lee, who could make the initial roster because of Foster’s suspension, led the linebackers with five tackles.

Joshua Garnett makes final case for the starting job

Garnett, the 2016 first-round pick, entered Thursday behind Mike Person in the competition to start at right guard – the only unsettled offensive position throughout the preseason. Garnett played the first half against the Chargers, beginning the game with a pancake block of a defender on an Alfred Morris two-yard run.

“I felt good out there; I felt solid,” Garnett said. “When they call a run to your side on the first play, it’s really good as a guard. You feel real fortunate. And then when you have a one-on-one block with a (defensive tackle), you got to do what you got to do so they keep running the ball behind you. ...You got to set the tone.”

Garnett pieced together three straight solid performances after missing the first two weeks of training camp and the preseason opener with a knee contusion. Shanahan said afterward he didn’t hear Garnett’s name during the game, which was a good sign he didn’t make any glaring mistakes. But Person remains the favorite for the starting spot with final cuts coming Saturday.

“He’s still the frontrunner,” Shanahan said of Person. “I mean, anybody who has been at that position for the majority of camp and got all those reps. We’re happy with Mike. He’s done a real good job, and that’s why we didn’t dress him tonight.

“We’re real excited about Josh, too. He got a late start, which puts him behind the eight ball with the group. There’s a lot of continuity that goes into an O-line playing together. We major in double-team blocks and you get used to who is blocking next to you a lot between the center and the right tackle. So, that’s the advantage someone has from just being here. But, Josh is a talented guy that we believe in. He’s going the right direction. It’s a good problem to have.”

Richie James puts his stamp on impressive debut

The 49ers might have found another gem in the seventh round of the NFL draft with James, who led the team throughout the preseason with 15 receptions for 192 yards, including a 42-yarder in Indianapolis and the game-winning touchdown in the opener to beat the Cowboys. He caught seven of eight targets for 80 yards on Thursday. He also had a 22-yard punt return in the third quarter.

“I think he’s had a good preseason,” Shanahan said. “I think a lot of our receivers have. It’s going to be tough with the group that we have. I know I can’t keep all of them. He’s been consistent throughout it all and got some opportunities tonight and came down with them.”

Initially, it looked as if James might have a hard time cracking the final roster and would be headed for the practice squad. But now it would be an upset if James didn’t make the team. He believes he’ll land on a roster for opening day, whether that’s with San Francisco or elsewhere.

“Of course,” James said. “I’m a playmaker. That’s all I do. I just come in and make plays (when) I get the ball in my hands.”

Players assured roster spots typically don’t play very much in the preseason finale, but James was in throughout the game after Kendrick Bourne and Aldrick Robinson started. James will be a player to keep an eye on over the upcoming weekend.

Jack Heneghan almost plays unlikely hero

Jack Heneghan isn’t a name 49ers fans got to know over the summer. That’s because the undrafted rookie quarterback from Dartmouth wasn’t given any full-team practice reps during the first two weeks of training camp when practices were open to reporters. But he played most of the second half Thursday and led touchdown drives on both of his possessions.

“It wasn’t my first time taking a snap or anything like that,” Heneghan, an Atherton native, said. “I think it wasn’t too difficult. It was more just a great opportunity that I was happy to get.”

Heneghan completed 8 of 9 throws for 58 yards. He converted a third down after a bad snap went to his ankles and hit the turf. He grabbed the ball and scampered for a 16-yard gain on the aborted play.

Shanahan said Heneghan deserved to play in Thursday’s finale after not getting into a preseason game previously.

“He’s worked as hard as anyone learning the offense. I think the guys really respect him, just how he worked this offseason throughout OTAs. How hard he worked out in the weight room with the guys and when we were away. He’s a talented guy who deserved the opportunity based off his ability, but also, especially because of the way he handled himself. I think the guys were really pumped for him watching that.”

Related stories from Sacramento Bee