Minnesota Vikings @ Dallas Cowboys
Final Score: Vikings 31, Cowboys 26
Writer: Kyle McCarthy (@KyleStats1738 on X)
The Minnesota Vikings upset the Dallas Cowboys on Sunday Night Football, shrinking Dallas’ playoff odds to just 1% in the process. After two statement wins over the Eagles and Chiefs in four days a few weeks ago, the Cowboys have followed it up with two tough losses to two NFC North teams. Minnesota dropped 31 points for the second straight week over an NFC East opponent as J.J. McCarthy continues to show some signs of improvement. Dallas outgained Minnesota by nearly 100 yards (423 to 327), but went only two for five in the red zone, and Brandon Aubrey missed two kicks in a game for the first time all season. The offense remains great, while the defense is still bad even after the deadline acquisitions.
Two Up
- J.J. McCarthy – Another highly efficient day for McCarthy. Much more poised and accurate. Second game with 0 sacks taken.
- CeeDee Lamb – Third straight game with 100+ yards. Still a target monster.
Two Down
- Justin Jefferson – The frustrating season continues. JJ and JJM again couldn’t get on the same page.
- George Pickens – Pickens has disappeared in the past two games. Still finished second on the team in targets on a positive note.
Minnesota Vikings
Quarterback
J.J. McCarthy: 15/24, 250 Yards, 2 TD, 1 INT | 4 Carries, 15 Yards, 1 TD
McCarthy was impressive in this game and delivered another highly efficient performance. The second-year quarterback threw an interception on his first pass attempt of the game, but settled in nicely after. He excelled when looking to create out of structure, completing 10 of 14 passes for 187 yards and a touchdown when holding the ball for more than 2.5 seconds, per Next Gen Stats. McCarthy wasn’t pressured often, and he was able to point and shoot at his array of weapons more accurately than in previous games. He’s showing a real connection with Jailen Nailor, as they connected for two touchdowns Sunday night, but he still needs work with Justin Jefferson.
JJ McCarthy griddys into the end zone!
MINvsDAL on NBC
Stream on @NFLPlus + Peacock pic.twitter.com/5P2lN654PM— NFL (@NFL) December 15, 2025
Running Back
Aaron Jones Sr.: 12 Carries, 34 Yards | 3 Targets, 3 Receptions, 31 Yards
Jones wasn’t efficient on the ground, but nearly matched his rushing yardage total in the receiving game. The former Green Bay Packer has remained Minnesota’s primary running back between the 20; however, he hasn’t seen as many touches down near the goal line. This time, the veteran was vultured by the fullback C.J. Ham.
Jordan Mason: 10 Carries, 29 Yards
Another empty rushing night for Mason. The Cowboys’ run defense has been stout since acquiring Quinnen Williams, and with a lack of receiving work, Mason is dependent on finding the end zone to be useful in fantasy.
C.J. Ham: 1 Carry, 1 Yard, 1 TD
Classic fullback dive for the vulture.
C.J. Ham is in for the go-ahead touchdown
MINvsDAL on NBC
Stream on @NFLPlus + Peacock pic.twitter.com/Mr3FNwwnmg— NFL (@NFL) December 15, 2025
Wide Receiver/Tight End
Jordan Addison: 2 Targets, 2 Receptions, 66 Yards
Addison caught a deep ball from McCarthy in the first half, and frankly, should have scored if the ball wasn’t underthrown. Addison was wide open and ended up getting caught from behind after he had to slow down to catch it. It was one of just two targets for the 23-year-old wideout, his fewest since Week 12.
BIG time play from JJ McCarthy to Jordan Addison!
MINvsDAL on NBC
Stream on @NFLPlus + Peacock pic.twitter.com/FiTdcPALPt— NFL (@NFL) December 15, 2025
Jalen Nailor: 5 Targets, 3 Receptions, 47 Yards, 2 TD | 1 Carry, -2 Yards
Is Nailor the WR1 in Minnesota? Not really, but he and McCarthy have found something. Two of his three receptions went for touchdowns, and the third came on a crucial fourth and three late in the third quarter, where he beat his man vertically for a 23-yard gain to eventually set up the Vikings’ touchdown that gave them the lead for good. Nailor had been quiet in recent weeks, but he also went nuclear back in Week 10 with McCarthy at the helm, catching five of six targets for 124 yards and a touchdown.
JJ McCarthy to Jalen Nailor on 4th and 3…
MINvsDAL on NBC
Stream on @NFLPlus + Peacock pic.twitter.com/HmWRWfG3ja— NFL (@NFL) December 15, 2025
T.J. Hockenson: 5 Targets, 4 Receptions, 66 Yards
Hockenson has come alive a bit here in recent weeks. He was often open underneath and created some YAC while making a couple of tough catches in the game. The 28-year-old tight end had 59 receiving yards two weeks ago in Seattle and scored his third touchdown of the year last week against Washington. There’s some positive momentum for Hockenson with the Vikings offense looking improved.
JJ dealing to Hockenson!
MINvsDAL on NBC
Stream on @NFLPlus + Peacock pic.twitter.com/cqF4gdLPiV— NFL (@NFL) December 15, 2025
Justin Jefferson: 8 Targets, 2 Receptions, 22 Yards
Jefferson could have had a big night. McCarthy just missed him on a crosser where he created easy separation at the top of his route, and he could have scored with how much space he had and how dynamic he is after the catch. Then, he actually caught a touchdown on the goal line, but it was called back by an illegal formation penalty. The Vikings naturally punched it on the ground on the next play. On another drive, McCarthy delivered an accurate ball to Jefferson right on his frame, but it went right through Jefferson’s hands for the drop. It’s always something. But the blowup game is coming.
Josh Oliver: 1 Target, 1 Reception, 18 Yards
Dallas Cowboys
Quarterback
Dak Prescott: 23/38, 294 Yards | 1 Carry, 2 Yards
Prescott didn’t record a touchdown for the first time since Week 8 in Denver, but was still largely pretty solid. Brian Flores and the Vikings defense harassed him with plenty of pressure as expected, and he handled it well with only two sacks taken. The struggles for the Cowboys’ offense came down to the red zone as they moved the ball pretty well all night. But settling for six field goals is ultimately what cost them in the end. Prescott targeted his No. 1 WR CeeDee Lamb early and often, finding him in all areas of the field. He distributed the targets evenly behind Lamb, with nine other players drawing at least one target. His three-game streak with 300+ passing yards just barely came to an end, as a fourth game would have marked a career high.
Running Back
Javonte Williams: 15 Carries, 91 Yards, 1 TD
Williams exited with a shoulder injury after scoring the Cowboys’ first touchdown. He sat out the remainder of the first half after that, but returned in the second half and delivered a solid showing. It’s unfortunate for fantasy managers as he would have, in all likelihood, been in for Malik Davis‘ touchdown, but he still managed to rush for his most yards in a game since Week 11.
Malik Davis: 8 Carries, 21 Yards, 1 TD | 3 Targets, 2 Receptions, 16 Yards
Davis filled in for Williams after he got banged up and scored his second touchdown of the season. He’s proven to be a quality backup and change-of-pace option to Williams, showing more burst and breakaway speed ability.
Malik Davis goal line TD puts the Cowboys ahead
MINvsDAL on NBC
Stream on @NFLPlus + Peacock pic.twitter.com/Phhj6xjBZZ— NFL (@NFL) December 15, 2025
Hunter Luepke: 3 Carries, 16 Yards | 2 Targets, 2 Receptions, 14 Yards
Luepke saw more snaps in Williams’ absence, but also ended up leaving due to a concussion.
Brandon Aubrey: 1 Carry, 6 Yards
Aubrey showed off his wheels on the Cowboys’ fake FG attempt on their first drive. He could have had a touchdown if he had opted to throw it, but he went the safer route.
Wide Receiver/Tight End
CeeDee Lamb: 10 Targets, 6 Receptions, 111 Yards
Lamb is back as the clear alpha in the Cowboys’ passing attack, notching three straight games with 100+ yards. He caught a Cover 2 hole shot from Prescott for a 30-yard gain, and showed off his elite after-the-catch ability on his other receptions.
George Pickens: 6 Targets, 3 Receptions, 33 Yards
Pickens was disappointing for the second straight week. He was a non-factor for almost the entire first half, and never really got going in the second half either. Pickens’ effort has been a major talking point after last week’s game against the Lions, and it’s unclear if that was the case Sunday night. But he was a distant second behind Lamb in targets, and now has two of his three worst games of the season in the last two weeks, with the other coming all the way back in Week 1.
Ryan Flournoy: 4 Targets, 4 Receptions, 40 Yards
Flournoy continues to make plays when called upon. He broke a pair of tackles after the catch on one reception and has flashed the vertical, big-play skill set Prescott seeks. Flournoy is a legitimate fantasy option to consider if Lamb or Pickens were to miss time.
Jake Ferguson: 4 Targets, 2 Receptions, 16 Yards
Ferguson’s two catches were his fewest in a game since Week 8 against Denver, and his 16 yards were his lowest since Week 11 against the Raiders. He was outgained by fellow tight end Luke Schoonmaker on a 29-yard catch and run.
Luke Schoonmaker: 1 Target, 1 Reception, 29 Yards
Schoonmaker’s 11th reception of the season went for 29 yards, the longest of his three-year career.
Jonathan Mingo: 1 Target, 1 Reception, 25 Yards
Mingo recorded his first catch of the season, and his sixth since being traded from the Panthers to the Cowboys for a fourth-round pick at last year’s trade deadline.
KaVontae Turpin: 2 Targets, 2 Receptions, 10 Yards | 1 Carry, 2 Yards
Brevyn Spann-Ford: 1 Target