Takeaways: Vikings finish with a 16-3 win over the Packers; J.J. McCarthy exits early

The Vikings end the 2025 NFL season at 9-8, closing with a five-game winning streak and a celebration of Harrison Smith and C.J. Ham.

The Minnesota Star Tribune
January 4, 2026 at 10:39PM
Vikings fullback C.J. Ham (30) celebrates his touchdown in the second quarter against the Green Bay Packers on Sunday, Jan. 4, 2026, at U.S. Bank Stadium in Minneapolis (Carlos Gonzalez/The Minnesota Star Tribune)

Facing a Green Bay Packers team that had little to play for, the Vikings got the win they wanted to finish the 2025 season above .500 at 9-8. For the third straight week, they finished the game with Max Brosmer at quarterback because of an injury to J.J. McCarthy.

The quarterback took himself out in the third quarter of the Vikings’ 16-3 victory over the Packers on Sunday, Jan. 4, at U.S. Bank Stadium, after starting the game with the hairline fracture that took him out of the New York Giants game two weeks earlier. He watched the end of the game wearing a baseball cap backward, as Brosmer completed seven of his first eight passes for 57 yards while leading the Vikings’ final field-goal drive.

Vikings coach Kevin O’Connell said McCarthy had soreness in the hand coming out of halftime and the team wanted to get the quarterback out of the game as soon as he recognized it.

McCarthy said he learned from the game against the Giants, when he stayed on the field despite discomfort in the hand and eventually could not grip the ball. He had a fumble returned for a touchdown before coming out.

“Feeling the momentum of the game, how well the defense is playing,” McCarthy said. “When it gets to a point where you feel like your body says, ‘No, you can’t do that,’ you’ve gotta put your ego aside and understand you’ve gotta do what’s best for the team,” McCarthy said.

He added, “It killed me to pull myself out; I’ve never done that before.”

McCarthy went 14-for-23 for 182 yards, helping Justin Jefferson eclipse 1,000 yards for the season in the first half. C.J. Ham, who’s contemplating retirement after 10 seasons with the Vikings, got the start and scored the Vikings’ only touchdown on a handoff before halftime.

With 3:32 left in the game, referee John Hussey announced the Vikings had called a timeout “to honor Harrison Smith,” as the 14-year veteran came out of the game to a standing ovation and hugs from teammates and coaches. Then, at the two-minute warning, Ham got his turn on the video board, blowing kisses to the fans before receiving hugs from teammates on the sideline.

ADVERTISEMENT

“I thought it was really well done by our staff here to make sure we could recognize those guys the right way,” O’Connell said. “... That moment there [when] we pulled them out was special. Credit to our fans for making that feel like the moment it should have.”

Why it happened

The Vikings defense nearly pitched its second shutout of the season against a Packers team resting starters before the playoffs next week, holding Green Bay to 65 yards in the game’s first 3½ quarters. Packers quarterback Clayton Tune, playing in place of Jordan Love and Malik Willis, had as many sacks taken (four) as completions in that time, as Vikings defensive coordinator Brian Flores continued to send pressure after the third-stringer. Tune finished 6-for-11 for 34 yards. The Packers had 121 yards, driving to a field goal as time expired.

What it means

The Vikings finish with a winning record after a five-game winning streak at the end of the season, and they end the season a half-game out of a playoff spot against a 9-7-1 Packers team that had nothing on the line. But the fact McCarthy came out of the game again will only amplify questions about the Vikings’ quarterback approach in the offseason, as the team considers whether to pursue a veteran alternative to McCarthy.

Play of the game

Rolling to his right before halftime, McCarthy drove a pass to tight end Ben Sims for an 18-yard completion along the Vikings’ sideline. It gave the Vikings a first-and-goal from the Packers 1-yard line, where Ham scored on a short handoff two plays later. It was Ham’s second TD run of the season and sixth of his career.

Turning point

After running back Emanuel Wilson lost 18 yards on a run that had him backpedaling from Vikings defenders near the Packers goal line, the Vikings took over on their own 41 before halftime. They drove 59 yards to finish with a Ham touchdown that made it 13-0.

Up next

Players will clean out their lockers Monday, and the Vikings will begin the work of preparing the roster for 2026. Flores’ contract status is the first issue on the offseason agenda, as the defensive coordinator’s current deal is set to expire after the season, and the Vikings will have decisions to make on a number of veteran defenders as they look to clear cap space before March.

about the writer

about the writer

Ben Goessling

Sports reporter

Ben Goessling has covered the Vikings since 2012, first at the Pioneer Press and ESPN before becoming the Minnesota Star Tribune's lead Vikings reporter in 2017. He was named one of the top NFL beat writers by the Pro Football Writers of America in 2024, after honors in the AP Sports Editors and National Headliner Awards contests in 2023.

See Moreicon

More from Vikings

See More
card image
Jerry Holt/The Minnesota Star Tribune

The Vikings executed plans to honor Harrison Smith, C.J. Ham and Justin Jefferson during a 16-3 win over the Packers, but questions about J.J. McCarthy remain unanswered.

card image
card image