The 49ers moved to 9-1 with their comeback victory over the Cardinals on Sunday. It was the second time in 15 days that Arizona gave San Francisco a fight in two of the 49ers’ toughest tests of the season. They got off to a slow start on both sides of the ball Sunday, but bounced back thanks to strong performances up and down the roster.
Here are the studs and duds from the 36-26 win:
Stud: QB Jimmy Garoppolo

The quarterback had the most productive game of his career, completing 34-of-45 passes for a career-high 424 yards with four touchdowns and two interceptions. That included the game-winning drive where Garoppolo completed six-of-seven throws, including the game-winner to running back Jeff Wilson Jr. in the face of a six-man rush that got to him quickly. Garoppolo started slow in the first quarter with one completion for four yards, but was huge in the second half where he threw for 303 of his 424 yards. Of Jimmy Garoppolo’s 18 touchdown passes this season, eight have come against Arizona in two of his best games.
Dud: Garoppolo’s two interceptions

Garoppolo’s two interceptions had a chance to be killers with both occurring inside Arizona’s 25-yard-line. The first came in the third quarter on a pass intended for Emmanuel Sanders, but Garoppolo didn’t see linebacker Jordan Hicks who was in the line of the throw from the snap. His second interception wasn’t as egregious as the first, but the timing was worse and almost ended the chance of completing the comeback. Garoppolo threw behind tight end Ross Dwelley, who barley got his hands on it. The ball deflected into the hands of rookie safety Jalen Thompson with 4:41 remaining in the game.
Stud: The defense following Garoppolo’s second interception

The defense struggled with Arizona’s offense in the first half, allowing 16 of the 26 points in the first 30 minutes. The Cardinals had 11 drives Sunday. Three ended with a three-and-out, and two of those came in the second half. The final three-and-out came when it was most needed. After Garoppolo threw his interception with 4:41 remaining, Arizona had a chance to ice the game, but the defense came up with a huge stop. On a third-and-5, quarterback Kyler Murray rolled left and was immediately met by defensive tackle Arik Armstead, who blasted the quarterback and ended the drive. The defensive hold allowed the offense to get back on the field and win the game.
Stud: RB Jeff Wilson
One snap played, one reception, 25 yards, and one touchdown that happened to be the game-winner. Wilson wasn’t active last week against Seattle, but found himself on the field in crunch time and delivered. He was able to make Chandler Jones miss in coverage and had an open field to the end zone to put the 49ers ahead 30-26. Wilson became the most unlikely hero of the season.
Dud: The run game

This category should add to the legend of Garoppolo’s game. The run game was non-existent, and head coach Kyle Shanahan said after the game he purposely abandoned the rushing attack in the second half. Their 34 yards on the ground were by far their lowest total of the season. It eclipsed the 87-yard low they set last week. The lack of run game made the offense one-dimensional. They ran it just 19 times compared to 45 passes.
Stud: WR Deebo Samuel
First of all, this catch makes no sense:
Now that that’s out of the way, Samuel was the 49ers’ best receiver for the second consecutive week. He became the first 49ers rookie receiver in franchise history to record back-to-back 100 yard games per the AP’s Josh Dubow.
Samuel’s performances have been huge with George Kittle out and Emmanuel Sanders again leaving the game due to a rib injury.
Dud: CB Richard Sherman

Sherman usually plays a physical brand of football, but Sunday got a little too physical. The cornerback was called for three pass interferences, all while covering second-year receiver Christian Kirk. The first prevented a potential touchdown, but led to an Arizona field goal. The second put Arizona within five yards of the end zone, and they cashed in with a touchdown two plays later. Sherman has helped the 49ers defense more often than not, but Sunday he did more harm than good.
Stud: DL Damontre Moore

Moore falls under the same category as Wilson: not the field much, but he made an impact. He made the play of the game for the defense late after the 49ers regained the lead in the fourth quarter. Holding onto a four point lead with 31 seconds left, Murray hit KeeSean Johnson to start their drive for five yards, but Moore was able to knock the ball out and the 49ers recovered to seal the game.