The 49ers wrapped up their 2019 preseason slate Saturday at home against the Chargers. The 90-man roster must be cut to 53 by Saturday at 1:00 pm Pacific Time.
Here’s our last guess at what the 49ers’ final roster will look like:
Quarterback (3)
Jimmy Garoppolo
Nick Mullens
CJ Beathard
No changes here. Head coach Kyle Shanahan said after Week 3 that he plans to keep all three quarterbacks, and that likely didn’t change Saturday. A trade is still on the table for either Mullens or Beathard.
Cut: Wilton Speight
Running back (4)

Matt Breida
Tevin Coleman
Raheem Mostert
Jerick McKinnon
McKinnon’s knee injury is a huge wild card on the 53-man. It seems likely he’ll land on Injured Reserve eventually. If he goes on before final cuts, he’s ineligible to return. If the team waits and he makes the initial 53-man, he can be placed on IR with a chance to return in Week 9. For now, he stays on the 53-man projection. Wilson made a strong case for a roster spot with 100 yards and a touchdown in the preseason finale.
Cut: Jeff Wilson Jr., Austin Walter, Brandon Wilds
Fullback (1)
Kyle Juszczyk
Nothing will change here barring injury.
Wide receiver (7)

Dante Pettis
Marquise Goodwin
Trent Taylor
Richie James
Deebo Samuel
Jalen Hurd
Jordan Matthews
Nothing happened in the preseason finale to change the prediction for the receivers. They’re still keeping seven, and Kendrick Bourne is the odd man out. His playing time late into the final preseason game while James and Matthews watched from the sideline isn’t promising for his roster chances.
Cuts: Kendrick Bourne, Nick Williams. Chris Thompson, Malik Henry
Tight end (2)

George Kittle
Ross Dwelley
Shanahan said after Thursday’s game that Dwelley showed him enough, which is why the second-year tight end didn’t play. Kaden Smith and Levine Toilolo each have a shot at the roster if they elect to keep three tight ends.
Cuts: Garrett Celek, Kaden Smith, Tyree Mayfield, Daniel Helm, Levine Toilolo
Offensive line (8)
OT Joe Staley
OT Mike McGlinchey
OT Justin Skule
OL Daniel Brunskill
G/C Ben Garland
G Laken Tomlinson
G Mike Person
C Weston Richburg
This group is so difficult because the depth is so sorely lacking. Joshua Garnett could easily wind up on the squad. So could Najee Toran and Sam Young. Brunskill’s versatility to slide inside and play tackle are intriguing though, and Skule might be a project worth keeping inactive on game days a la Shon Coleaman last season.
Cuts: Justin Skule, Joshua Garnett, Najee Toran, Sam Young, Ross Reynolds, Andrew Lauderdale, Wesley Johnson
Cornerback (5)
Richard Sherman
Ahkello Witherspoon
Jason Verrett
K’Waun Williams
Emmanuel Moseley
No changes here, though DJ Reed or Jimmie Ward might wind up starting at nickel corner to start the regular season.
Cuts: Tim Harris, Dontae Johnson, Jordan Holland, Quinten Rollins
Safety (5)

DJ Reed
Jaquiski Tartt
Jimmie Ward
Marcell Harris
Tarvarius Moore
Thursday’s game didn’t do anything to change this group, although Harris’ struggles in the preseason may make him expendable if the team needs help at another position.
Cuts: Antone Exum Jr., Adrian Colbert, Tyree Robinson, Chris Campbell
Linebacker (5)
Fred Warner
Kwon Alexander
Elijah Lee
Mark Nzeocha
Dre Greenlaw
Nzeocha had a really nice game in the preseason finale and may have earned himself a roster spot over David Mayo.
Cuts: David Mayo, Azeez Al-Shaair, Demetrius Flannigan Fowles, LaRoy Reynolds
Defensive line (10)

DeForest Buckner
Dee Ford
Arik Armstead
Nick Bosa
Solomon Thomas
Sheldon Day
DJ Jones
Ronald Blair
Jullian Taylor
Kevin Givens
Kentavius Street’s likely move to Injured Reserve opens the door for a player like Givens, who won’t be active on game days. Instead he can stay on the roster and develop after a good preseason. Damontre Moore is another popular pick to hit the roster, but he was stymied too often against the Chargers’ backups.
Cuts: Damontre Moore, Jamell Garcia-Williams, Jay Bromley, Jeremiah Valoaga, Jordan Thompson
Specialists (3)
K Robbie Gould
P Mitch Wishnowsky
LS Colin Holba
This group is locked in until Kyle Nelson is back from suspension. He’s serving six more games after being handed a 10-game suspension for PEDs last season.
Cuts: None