View photos from the 49ers final preseason game against the Los Angeles Chargers.
The San Francisco 49ers preseason has reached its conclusion. Thursday night's exhibition finale against the Los Angeles Chargers is all that stands in the way of a Week 1 home game against the Carolina Panthers.
Keep it locked here for updates throughout the game as players fight for roster spots with cuts looming on Friday and Saturday.
There's a long list of 49ers (most starters) who will not play against the Chargers: Pierre Garçon, Marquise Goodwin, Aaron Burbridge, Pierre Garçon, Will Redmond, K'Waun Williams, Jimmie Ward, Pierre Garçon, Jaquiski Tartt, Rashard Robinson, Eric Reid, Dontae Johnson, Kyle Juszczyk, NaVorro Bowman, Reuben Foster, Elvis Dumervil, Brandon Fusco, Joshua Garnett, Daniel Kilgore, Zane Beadles, Joe Staley, Trent Brown, George Kittle, Earl Mitchell, Arik Armstead, Solomon Thomas, Garrett Celek, Ronald Blair III and DeForest Buckner.
That's 29 (!!!) names.
Tonight's captains will be Vinnie Sunseri, Tim Hightower and Blake Bell.
The 49ers announced that rookie QB C.J. Beathard will start the final preseason game. Beathard has thrown for 370 yards and four touchdowns in three appearances thus far.
San Francisco started on defense once again. That makes all four preseason games.
Chargers backup quarterback Cardale Jones completed his first three passes, but threw an interception on his fourth attempt. Asa Jackson picked off the tipped pass to give San Francisco possession.
Beathard promptly completed his first pass to Logan Paulsen for a gain of 11. On the ensuing 3rd-and-14, the rookie scrambed for a gain of seven yards but was short to the line to gain. Bradley Pinions punt pinned the Chargers at their own 6-yard line.
San Francisco got it back immediately when Adrian Colbert blew up Kenjon Barner and forced a fumble. The 49ers recovered the loose ball at the Chargers 16-yard line.
Beathard took a sack on third down, and the 49ers were forced to settle for a field goal attempt.
Robbie Gould was good from 41-yards out to put San Francisco on the board first, 3-0. (7:09)
San Francisco's defense followed with a three-and-out. Through three Chargers possessions, the 49ers defense has two takeaways and a three-and-out.
Trent Taylor returned the ensuing punt 40 yards into Los Angeles territory.
Beathard was sacked on third down once again to end the 49ers drive.
Jones got the Chargers moving with back-to-back completions to Mitchell Paige of 16 and 21 yards, respectively.
Austin Ekeler opened the second quarter with two carries that went for 29 total yards. A 3rd-and-goal pass fell incomplete to Ekeler which brought on Los Angeles' field-goal unit.
Younghoe Koo drilled a 27-yarder to tie the game, 3-3. (10:58)
San Francisco answered right back. A 9-yard pass to Victor Bolden Jr. was followed by an 11-yard run by Tim Hightower.
Then Beathard took off for a 62-yard touchdown run to put the 49ers up 10-3. (8:44)
No, that's not a typo. Beathard took off downfield, made a man miss and won a sprint to the goal line.
Lightening struck again following another three-and-out forced by the 49ers defense.
Bolden Jr. took the ensuing punt 92 yards to the house to put the house to put the 49ers up 16-3. (7:05)
Nick Rose missed the PAT. Bolden Jr. now has two special teams touchdowns this preseason. He also scored on a 108-yard kick return touchdown against the Denver Broncos.
San Francisco forced its third turnover of the game. Dekoda Watson sacked Jones and forced a fumble. Watson recovered the loose ball himself to set up 1st-and-goal for the 49ers.
On his third straight carry, Hightower plunged into the end zone from 1-yard out to extend the 49ers lead, 23-3. (4:51)
Hightower now has 21 yards on eight carries.
A sack for Sen'Derrick Marks ended the Chargers next series.
The 49ers took the 23-3 lead into halftime. Beathard finished the first half with 31 passing yards and 80 rushing yards. Football is weird sometimes.
Nick Mullens entered the game at quarterback for the 49ers. After being sacked on his first snap, he completed his first three passes to Tim Patrick, DeAndre Carter and DeAndre Smelter. The drive stalled at San Francisco's 41-yard line.
Los Angeles dinked-and-dunked its way downfield and into the red zone. Jones' third down pass fell incomplete as he got hit by linebacker Austin Calitro.
Josh Lambo drilled a 38-yard field goal to make it 23-6, San Francisco. (5:44)
The 49ers started marching right back. Mullens found rookie tight end Cole Hikutini for a 20-yard gain. He then carried the ball twice for three times for 22 yards. The drive ended with Rose missing a 53-yard field goal.
Asa Jackson gave San Francisco the ball right back with his second interception of the game.
San Francisco's drive reached the red zone but was halted by a Joe Williams lost fumble.
Williams atoned for his mistake on the next drive with a run on third down to move the chains followed by an 11-yard run. A fumbled exchange between Mullens and Kapri Bibbs gave the ball right back to the Chargers.
A 32-yard pass to Ekeler set up 1st-and-goal. Austin Calitro got a tackle for loss and Will Davis picked off the ensuing third-down pass to give the 49ers the ball back. San Francisco has now forced five turnovers on the night.
It hasn't been a pretty second half of football, as you may have expected coming into tonight's game.
Mullens continued the turnover party with a pick-six to Chargers linebacker Kyle Coleman to make it 23-13, 49ers. (4:54)
The 49ers held on to win it by that score and finished the preseason 2-2.
Bring on the regular season. See y'all next Sunday.