Nick Wagoner
Rich Cimini
SANTA CLARA, Calif. — The San Francisco 49ers spoiled Aaron Rodgers’ comeback party with the New York Jets on Monday, beating the quarterback in his first game since tearing his left Achilles nearly one year ago.
The defending NFC champs opened up their season with a 32-19 win over New York, and they did it without star running back Christian McCaffrey — who was surprisingly ruled out right before kickoff.
The 49ers were able to stifle Rodgers and the Jets while dominating the time of possession 38:40 to 21:20.
Here are the most important things to know from Monday night for both teams:
As recently as Friday, McCaffrey said he had no doubts that he was going to play Monday despite his calf and Achilles injuries. Which is why it was a shock when McCaffrey was ruled out 90 minutes before kickoff.
But McCaffrey’s absence also created an opportunity for backup Jordan Mason — who had never played more than 27 offensive snaps in a game — to start for the first time in his three NFL seasons. No matter, as Mason looked the part of a 10-year veteran running around, getting past and over Jets defenders all evening.
By the time Mason’s work was done, the first look at the 2024 Niners bared a striking resemblance to San Francisco teams of recent vintage. After a bit of a slow start in the first quarter, the 49ers flipped the switch and physically dominated the Jets on both sides of the ball.
It was Mason who set the tone. He finished with career highs in carries (28) and yards (147). He added a touchdown and became the sixth Niner since 1970 to post 100-plus rushing yards in his first career start with the team.
The 2022 undrafted free agent out of Georgia Tech also became the 10th undrafted 49er to rush for 100-plus yards in a game since coach Kyle Shanahan took over in 2017, the most in the NFL in that span.
It’s unclear how many games McCaffrey will miss, though with the next two on artificial surfaces (at Minnesota Vikings and at Los Angeles Rams), the Niners aren’t going to rush him back, and Mason offered plenty of reassurance that they don’t have to.
QB breakdown: With the running game rolling, the 49ers didn’t need much from Brock Purdy. But he still delivered when needed, and his performance would have been better had it not been for some costly drops, including at the end of first half when wideout Brandon Aiyuk dropped a would-be touchdown. Purdy finished 19-of-29 for 231 yards with no touchdowns or interceptions.
Promising trend: The 49ers’ run defense struggled down the stretch in 2023, giving up 4.8 yards per carry (30th in the NFL) from Week 14 through the Super Bowl. They attempted to correct that in the offseason by hiring Nick Sorensen as defensive coordinator and allocating resources to more big bodies on the defensive line such as tackles Maliek Collins and Jordan Elliott and end Leonard Floyd.
Maybe it’s a bit early to call it a trend, but the early returns were good Monday as San Francisco limited the Jets to 68 yards on 19 carries, an average of 3.6 yards per attempt.
Pivotal play: With 8:56 left in the second quarter, the Niners trailed 13-6 and faced a second-and-19 from New York’s 39 after a holding penalty wiped out an 18-yard run from Mason.
Given a clean pocket and time to throw, Purdy ripped a throw to wide receiver Jauan Jennings running a deep crosser. Jennings hauled it in for a gain of 22 and a first down. The Niners scored three plays later and never relinquished the lead. — Nick Wagoner
Next game: at Minnesota Vikings (1 p.m. ET, Sunday)
It took a year longer than expected, but the Jets finally got to experience almost a full game with Rodgers. Unfortunately, their defense did not rise to the occasion and hindered any chance of a triumphant return for Rodgers. The Jets led briefly 7-3 then allowed eight — yes, eight — straight scoring drives.
The Jets turned the 49ers’ Mason into the nation’s hottest new name for fantasy owners after his big performance.
One of the reasons Rodgers wanted to play for the Jets was their formidable defense, which kept them in most games last season as they endured a quarterback roulette.
This game got away from them, however, and coach Robert Saleh waved the white flag with 4:32 left, pulling Rodgers in favor of Tyrod Taylor. And Rodgers still hasn’t played a complete game in a Jets uniform.
QB breakdown: Rodgers (13-for-21, 167 yards) delivered a few vintage moments, including a 36-yard touchdown pass to Allen Lazard. That came on a free play, his 18th career touchdown pass on free plays.
Rodgers threw the ball well, especially on three straight third-down conversations in the first quarter. His worst throw was a deflected pass that was intercepted. His mobility was so-so, as he was sacked once and was under duress at times. Considering the long layoff and rust, this was a respectable performance by the 40-year-old.
Biggest hole in the game plan: Wide receiver Garrett Wilson was on fire at the start, with four catches in the first 11 minutes. Then he disappeared. He wasn’t targeted again until the third quarter, and that resulted in an interception. The Rodgers-to-Wilson connection went cold, and so did the entire offense.
The lack of a consistent No. 2 option in the passing game loomed large. Lazard’s 36-yard score late in the third quarter was the first offensive touch by a player other than Wilson or running back Breece Hall. Wide receiver Mike Williams, in his first game since ACL surgery, played only a handful of snaps and was a nonfactor. Tight end Tyler Conklin had no targets. Lazard was able to catch another meaningless touchdown late from Taylor, but if the struggles continue when things matter, the call to trade for Las Vegas Raiders wideout Davante Adams will get louder and louder.
Troubling trend: The Jets’ defensive front, the supposed strength of the unit, got pushed around in the running game. Clearly, the Jets missed strongside end John Franklin-Myers (traded in the offseason). Big defensive tackle Javon Kinlaw was supposed to make a difference, but he had a quiet night. All told, New York allowed 180 yards on the ground, most of it between the tackles. Holdout Haason Reddick probably wouldn’t have helped the run defense, but he would’ve spiced up the lukewarm pass rush.
Troubling trend, Part II: Curiously, All-Pro cornerback Sauce Gardner was on the sideline for nine snaps in the second quarter. After the game, he said that he took himself out because he got the wind knocked out of him on a tackle. His absence was costly, as Brock Purdy completed 6 of 6 passes without Gardner on the field. — Rich Cimini
Next game: at Tennessee Titans (1 p.m. ET, Sunday)