Biggest winners and losers from 49ers vs. Broncos on Monday night

Ron Chenoy-USA TODAY Sports

The Denver Broncos hosted the San Francisco 49ers for a preseason “Monday Night Football” showdown after the two teams practiced together over the weekend.

Unlike the heated practices, which sparked some extracurricular activities, this game was pretty clean. Players from both sides shined, while others slogged their way through the exhibition contest.

These are the biggest winners and losers from Monday night’s preseason action.

Winner: Emmanuel Sanders looks amazing

It was just eight months ago that Sanders went down with an Achilles tear, yet somehow he looks as explosive as ever. Talk coming out of Denver this offseason has all been positive regarding his recovery. But to see it on the field Monday night was something else.

All told, Sanders touched the ball twice and gained 24 yards in limited action. That’s just a taste of what’s to come for Denver’s new-look offense this season.

Loser: Jimmy G was rusty, with a capital ‘R’

Jimmy Garoppolo played for the first time since tearing his ACL in Week 3 of last season, and boy was he rusty. The 49ers quarterback threw a ghastly interception on his second attempt, and he nearly threw another on his second drive that would have resulted in a pick-six.

Timing was off between Garoppolo and his receivers. He also looked slow to read the field. Before exiting the game after roughly a quarter, Garoppolo completed just 1-of-6 passes for six yards with no touchdowns and the interception.

All told, just a really poor outing by a guy who needs to step up big time in 2019 in order for his team to realize its vast potential.

Winner: Bradley Chubb looking dangerous

This second-year star looks ready to improve upon his dynamic rookie season, when he racked up 12 sacks. Chubb got the better of Pro Bowl left tackle Joe Staley early in Monday’s game. That’s no small feat.

Then when Staley left the game he did this to Justin Skule:

With Chubb playing opposite Von Miller more often than not, opposing offensive lines are in for a long, long season going against these guys.

Loser: Broncos’ run game was stymied

Denver’s offensive line is a work in progress, to be sure. That was readily apparent Monday night, especially early, on running plays. Phillip Lindsay and Royce Freeman both toted the rock five times in the early going. Lindsay gained a total of 14 yards. Freeman finished with a goose egg. Both posted a long run of five yards.

Credit goes to San Francisco for penetrating and making tackles for a loss. Yet Denver’s offensive line needs to pick things up in a big way prior to Week 1. Because as good as Flacco looked passing the ball early, he’ll become turnover prone if teams know the Broncos cannot run and start sending the house on blitzes.

Winner: Solomon Thomas showing out

For much of the offseason, Thomas was someone many figured could be traded. A former first-round pick who struggled his first two seasons in the league, he’s begun to thrive in a new role on San Francisco’s defensive line.

That showed up Monday night. Thomas was extremely active, both as a penetrating pass rusher and out in coverage.

All told, Thomas tallied four tackles, including one for a loss and two solo, and applied pressure that didn’t show up on the stat sheet multiple times while playing in the first half.

Loser: Drew Lock’s rough night ends in pain

It wasn’t all bad for the rookie Monday night, but there’s no doubt Lock struggled at home against the 49ers.

The second-rounder out of Missouri managed just 40 passing yards on 7-of-12 attempts, netting 31 yards due to a nine-yard sack. Lock also bobbled a couple of snaps from under center, and then to cap it all off he hurt his right hand falling to the turf while attempting to evade pressure.

Struggles are to be expected from a young quarterback. He’s not ready for the NFL yet. That’s been obvious since his first preseason action a few weeks back. Yet the potential is certainly there for this strong-armed quarterback to make his mark in the future.

Winner: Raheem Mostert put on a show

Mostert has been with San Francisco since 2016, yet injuries have kept him from reaching his full potential. Fans got a glimpse of just how explosive he can be Monday night.

The veteran ripped off multiple big plays, catching a screen and going 38 yards, then rushing it in for a touchdown from 30 yards out.

All told, Mostert gained 100 yards on just eight touches. Even with Jerick McKinnon likely to open the season on the injured list, there is still fierce competition for the backup running back spots. Needless to say, he cemented himself as a must-keep player in 2019, especially considering his special-teams prowess.