For the first time in over a month, the Minnesota Vikings won a game. J.J. McCarthy had his best game of the season, throwing for three touchdowns and not turning the ball over. The defense forced turnovers that had been lacking all season. For one week, it mostly felt like the kind of win we have become accustomed to under Kevin O’Connell.This game still didn’t feature the kind of aerial attack that O’Connell desires, but it did play to McCarthy’s strengths. And with it being the seventh start of his career, perhaps that’s more important than any stat sheet quota that O’Connell wants to hit.UP ON EM EARLY! 📺: @NFLonFOXpic.twitter.com/xMnQV7dHK5— Minnesota Vikings (@Vikings) December 7, 2025It was too little, too late for the season, as the Vikings are still only 5-8 with four games to play. But it was a needed win for a team known for its positive vibes and high-flying offense under O’Connell. Justin Jefferson was smiling again late in the game despite only catching two passes for 11 yards.Here’s the good, bad, and ugly from Sunday’s win.The Good: McCarthy operated a well-rounded offensive approachMcCarthy only accumulated 163 yards on 16 of 23 passing, which is efficient but not exactly the type of performance to dominate SportsCenter. But he was able to get away with the manageable workload because the Vikings also ran the ball 34 times for 164 yards, including an eight-yard touchdown run by Jordan Mason on 3rd-and-1.Together, Mason and Aaron Jones ran 25 times for 128 yards, helping keep McCarthy and the rest of the offense on schedule. That helped the Vikings convert 6 of 11 third-down conversions and 2 of 2 fourth-down attempts. Minnesota entered the game ranked 31st in third-down offense, often facing 3rd-and-long situations and opting to throw on 3rd-and-short.ALL THE WAY IN!@JPMason27📺: @NFLonFOXpic.twitter.com/FKjvTivK8V— Minnesota Vikings (@Vikings) December 7, 2025The Bad: McCarthy still took four sacksMcCarthy was still prone to some weird moments in the pocket when he unnecessarily stepped into pressure. He took four sacks (only losing 12 yards), though he broke the pocket three times for 22 yards before taking three kneeldowns to end the game.The quarterback has now taken 24 sacks this season, giving him a 12.9% sack rate, which would be the league’s worst. McCarthy is still young and getting acclimated to the game, and can grow out of holding the ball too long. But Sunday showed signs of growth in other areas of his game. Hopefully, he can show that kind of growth with his pocket awareness as well, which could, in turn, help other aspects of his game take off.The Ugly: Jefferson’s productionYou have to hand it to Jefferson and how he’s handled this season. He was all smiles at the end of the game, even after the Vikings weren’t able to get the ball to him in their final red zone sequence. After the game, he spoke to reporters and said, “I’d rather win and not get the ball than lose and not get the ball.”But it was the eighth straight game where Jefferson had failed to reach 100 yards. Jefferson has only caught four passes for 15 yards the past two weeks, and he sits at 810 receiving yards on the season. It’s crazy to think he could miss the 1,000-yard milestone for the first time in his career, but that could be the next biggest storyline behind McCarthy’s development over the final four games of the season.This article originally appeared on Vikings Wire: The Good, The Bad, The Ugly from the Vikings’ win in Week 14
