Week 15 Wrap: James Cook looks like a fantasy league winner in incredible performance

James Cook #4 of the Buffalo Bills
James Cook delivered the best game of his young career in Week 15. (Photo by Lauren Leigh Bacho/Getty Images)

Dallas Cowboys @ Buffalo Bills

The Bills blew out the Cowboys despite Josh Allen completing just seven passes thanks to a James Cook eruption. Cook was the No. 2 fantasy back this week while setting career highs in carries (25) and rushing yards (179). He pulled down a nice touchdown catch and had 104 rushing yards by halftime against a Dallas defense that hadn’t allowed a 100-yarder rusher all season. The Cowboys entered yielding the third-fewest fantasy points to running backs, but Cook had 221 total yards compared to Dallas’ 92 with the score 31-3 in the fourth quarter.

Cook lost short scores to Allen and Latavius Murray but had a carry inside the 10 and dropped a potential TD pass two plays later, so he saw increased goal-line work. Cook’s day could’ve been even bigger if not for the drop and also being tackled at the one-yard line earlier, but his expanded role under OC Joe Brady continues to make the RB a fantasy star. Cook hasn’t seen a snap share higher than 55% over his last four games, but he’s averaging 24.1 fantasy points over that span anyway. He’s a top-five RB against the Chargers in Week 16.

Allen attempted just 15 throws, as Buffalo’s passing game wasn’t needed Sunday. Stefon Diggs pulled down a nice one-handed catch in the rain, but he’s now averaged just 41.4 receiving yards over his last five games. Dalton Kincaid dropped both of his targets during the same drive, while Gabe Davis recorded zero catches for the third time over his last five games (with a top-10 WR week in between).

That this Bills team entered the day as the AFC’s 11th seed is comical.

Dak Prescott missed an open Brandin Cooks for a 71-yard touchdown during Dallas’ opening drive, and it didn’t get much better from there. Prescott failed to throw a TD for the first time since Week 1 and got just 3.9 YPA with Buffalo also dropping a couple of potential interceptions. He entered with a 22:2 TD:INT ratio over seven games since Dallas’ bye, but Prescott picked a bad time for fantasy managers to have his worst performance of the season. He’s gotten 8.5 YPA with 20 TD passes at home but just 6.5 YPA with eight scores on the road this year. Prescott’s MVP case took a big hit Sunday.

Tony Pollard got 4.7 YPC but was limited to just 11 carries thanks to game script, and the early loss of All-Pro guard Zack Martin didn’t help. CeeDee Lamb didn’t do much with 10 targets, but a rushing score marked his sixth straight game with a touchdown. Still, the Cowboys offense mostly laid an egg during the opening of the fantasy playoffs, and Dallas is on the road again next week.

San Francisco 49ers @ Arizona Cardinals

  • Brock Purdy got 9.7 YPA and threw four more touchdowns during his homecoming. He briefly left (Sam Darnold made an appearance) in the second quarter after taking a big hit but quickly returned after being diagnosed with a left shoulder stinger. Purdy benefited from throwing to multiple open receivers Sunday, but no one in the NFL can put up his eye-popping stats without help from his system and teammates. I’m opening an investigation if Purdy doesn’t become the MVP betting favorite this week.

  • Christian McCaffrey totaled 187 yards and scored three more touchdowns during one of the best fantasy performances of the season. CMC recorded his NFL-high sixth 100-yard rushing game of the season and is tied for the league lead with 20 scores. McCaffrey tied the NFL record for most career games (15) with a rushing and receiving touchdown while carrying fantasy teams like he has throughout 2023. CMC has scored seven TDs versus the Cardinals this season (another record) and might have become the favorite to win the Offensive Player of the Year award Sunday; Tyreek Hill missed a game in which the Dolphins scored 30 points.

  • Deebo Samuel caught two more touchdowns, giving him eight total scores over his last four games. Samuel wasn’t lying in the preseason when he said he was embarrassed about his tape last year and to expect a better 2024.

  • Brandon Aiyuk finished fourth on his team in receiving, although he was close to two big plays.

  • James Conner isn’t the fastest back in the league, but he scored en route to a top-10 RB finish this week. Arizona ran for 234 yards Sunday against a San Francisco defense missing multiple players.

  • Trey McBride was a beast while recording 10 catches and 102 yards, while backup tight end Elijah Higgins also finished top 10 at the position this week.

  • Cardinals wide receivers totaled 20 yards, with Marquise Brown leaving Sunday’s game without a target.

  • Kyler Murray has gotten just 5.7 YPA over his last three outings and has only four TD passes over five games since returning. It was nice to see him run for 49 yards Sunday, but he’s given Arizona reason to look into drafting a quarterback. Mr. Irrelevant won the matchup between the first and last picks of their respective drafts.

  • The Cardinals’ streak of 29 straight touchdowns during goal-to-go situations ended, but the 49ers remain undefeated against the spread over their last 11 division games.

  • San Francisco is on pace to become the first team since the 2004 Colts to have a QB with 4,000 passing yards and four others with 1,000 yards from scrimmage.

  • Jake Moody broke the NFL record for consecutive extra points made since they’ve been moved back.

Washington Commanders @ Los Angeles Rams

  • Matthew Stafford would’ve had a monster fantasy performance if Jacoby Brissett started, but game script resulted in top-12 QB production instead. Stafford has a 12:1 TD:INT ratio over his last four games and has the Rams lurking as a suddenly dangerous first-round opponent in the playoffs (revenge game for Stafford versus Detroit?).

  • Kyren Williams had the second-most rushing yards (152) and finished as a top-five fantasy back this week despite losing two fumbles. He oddly lost more playing time to Royce Freeman (only a handful of snaps) after losing his first fumble than he did after his second. Williams had just one fumble (none lost) on the season before Sunday, so he’s in no danger of losing his role as LA’s workhorse. In fact, Williams recorded season highs in carries (27) and opportunities (34) this week.

  • Cooper Kupp continues to look healthy, catching a 62-yard touchdown during a busted coverage.

  • Sam Howell was awful, throwing his NFL-high 15th interception and finishing with a CPOE (-12.2) in the second percentile. To make matters even worse, Brissett posted a CPOE (+30.2!) in the 100th percentile and immediately led back-to-back touchdown drives after replacing him. Howell was a fantasy revelation earlier this year thanks to his running and Washington’s volume, but he’s thrown just two touchdowns over the last four games while failing to move the offense. Howell’s future in Washington is shaky.

  • Terry McLaurin was having a quiet game before recording possibly the best non-catch of the season late in the third quarter. Scary Terry then immediately started producing once Brissett took over with nine minutes remaining in the fourth quarter, including a 29-yard touchdown grab. Brissett found McLaurin for a 48-yard gain during the Commanders’ next drive, with the receiver tackled at the one. Washington’s previous longest pass play of the season was 37 yards! McLaurin finished as a top-three fantasy WR this week despite missing a TD by one yard, drawing a DPI in the end zone and having his starting quarterback get just 3.9 YPA over three-plus quarters.

  • Antonio Gibson made a circus catch in the second quarter but flopped for fantasy teams who used him with Brian Robinson out.

  • After Curtis Samuel’s second TD catch, “Riverboat” Ron elected not to go for two down eight points (as TD underdogs on the road); the decision looked even worse when the Commanders missed the extra point.

Tampa Bay Buccaneers @ Green Bay Packers

Chicago Bears @ Cleveland Browns

  • Justin Fields got just 4.2 YPA and didn’t find much success running against man coverage as hoped. In his defense, the Browns are allowing by far the fewest yards per play at home this season, and both of his interceptions came during Hail Marys at the end of halves; the first one clearly hit the ground after further review (it still counted), and the second pick nearly won Chicago the game.

  • Fields also lost a rushing touchdown thanks to a false start penalty by Cole Kmet, although the two connected for a nice score on the next play. Moreover, Robert Tonyan dropped a perfectly thrown dime from Fields on a would-be 75-yard touchdown. It was one of the best passes of the season, so Fields deserved better Sunday.

  • Chicago had four players finish with 5-7 carries, so avoid the Bears’ running backs during the fantasy playoffs.

  • DJ Moore gets far more favorable matchups (Ari, Atl) over the next two weeks.

  • Chicago’s defense continued to play well, recording a pick-six and another four sacks. The Bears should be considered a top-five fantasy defense over the next two weeks.

  • Joe Flacco was picked off three times, but he’s now averaging 313 passing yards with seven TD strikes over three games since returning off his couch. Cleveland’s offensive line injuries hurt, but the Browns are a dark horse in the AFC.

  • David Njoku was fantasy’s No. 2 tight end for the second straight week while leading all pass-catchers with 14 targets in Week 15.

  • Amari Cooper played better at home yet again and continues to be Flacco’s favorite WR.

New York Jets @ Miami Dolphins

  • Raheem Mostert got just 2.8 YPC and shared carries with De’Von Achane but was a top-10 fantasy RB anyway thanks to scoring two more touchdowns. Mostert is up to 20 TDs (tied with CMC) after scoring 19 over his first eight seasons in the league. He became just the fifth player 30 years or older in NFL history to score 20 touchdowns.

  • Jaylen Waddle shook off an early injury and had 118 yards and a score by halftime, taking full advantage of Tyreek Hill being out. Waddle caught a 60-yard touchdown and would’ve had a bigger day if not for the lopsided score (Mike White played most of the fourth quarter).

  • Tua Tagovailoa was extremely sharp, but game script hurt his fantasy numbers far more than Hill’s absence.

  • Teams leading at halftime are 14-0 during Dolphins games this season.

  • Garrett Wilson saw zero targets in the first half and was only mildly more involved after Trevor Siemian replaced Zach Wilson, but he had a better game than Breece Hall (18 YFS).

  • The Jets had -10 passing yards (four total) at halftime and now have the longest playoff drought in sports.

  • In fairness to New York, the Jets’ medical tent was so filled at one point during the first half, injured players had to go directly to the locker room.

Baltimore Ravens @ Jacksonville Jaguars

  • Lamar Jackson had a modest passing game despite Jacksonville missing its starting safety and best corner (Tyson Campbell) but led Baltimore with 97 rushing yards. Jackson made plays when it mattered and is now on pace to record the first NFL season with 3,700 passing yards and 900 rushing yards.

  • Keaton Mitchell got 8.1 YPC and came close to breaking off a long touchdown run for the second straight week but left with a serious injury. The exciting rookie’s knee buckled at the end of a nice fourth-quarter run, and the Ravens are expected to sign Melvin Gordon as a result.

  • Calvin Ridley had an empty 12 targets that included yet another near touchdown catch; he’s been ruled just out of bounds in the end zone more than any receiver in the league this year. Ridley’s volume should remain with Christian Kirk on IR and Zay Jones seemingly re-injuring his knee Sunday night.

  • Trevor Lawrence led the Jaguars in rushing while playing through a high-ankle sprain, and he completed the longest pass of his career during the loss.

  • The Jaguars had the most yards in the first half (182) without scoring in an NFL game all season, when Jacksonville seemingly lived in Baltimore’s territory but was shut out at halftime.

  • The Jaguars had the right idea drafting a running back to help limit Travis Etienne’s workload, but they just drafted the wrong one (despite Tank Bigsby’s cool name).

  • The Ravens ran for 200+ yards in the second half and remain atop the AFC.

Kansas City Chiefs @ New England Patriots

  • Patrick Mahomes was terrific (8.5 YPA), throwing for 300+ yards for the first time since Week 7. He failed to be a top-10 QB for the sixth time over his last seven games but avoided his first three-game losing streak of his career. Mahomes got no help from his rushing attack, lost a TD pass to his RB and watched Kadarius Toney turn a drop into an interception once again.

  • Travis Kelce also dropped a potential touchdown in the third quarter (it wasn’t an easy play in which he took a hit), but Clyde Edwards-Helaire pulled down a leaping catch in the end zone.

  • Rashee Rice was the story again, as he’s emerged as Kansas City’s clear No. 1 receiver. He’s averaged 9.5 targets and scored three touchdowns over the last four games and should be considered a legitimate top-10 fantasy WR down the stretch as Mahomes’ top target.

  • Ezekiel Elliott flopped (2.3 YPC) one week after finishing as fantasy’s No. 1 back against a Chiefs run defense that ranked last in the league in DVOA over the previous five weeks. He even lost a late TD run to Kevin Harris after getting 100% of New England’s RB carries in Week 14.

  • Jerick McKinnon did nothing on the ground but both caught and threw a touchdown Sunday.

  • Demario Douglas was quiet during his return, while Hunter Henry had six catches for 57 yards and a touchdown by halftime, including a second TD called back by a holding penalty.

New York Giants @ New Orleans Saints

  • Derek Carr tossed three touchdowns for the first time this season despite missing Chris Olave. Carr posted a CPOE (+11.9) in the 90th percentile during his best fantasy performance since joining New Orleans.

  • Taysom Hill finished with one pass attempt, one catch and one carry, and no Saints pass-catcher saw more than five targets with Olave out.

  • Tommy DeVito took seven sacks before eventually being replaced by Tyrod Taylor, although Tommy Cutlets did lead the Giants in rushing. New Orleans can be a tough matchup, but DeVito’s magic seemingly ran out Sunday.

  • New York’s highlight was its punter nailing a 40-yard field goal after Randy Bullock left injured.

Houston Texans @ Tennessee Titans

  • Derrick Henry totaled 10 yards on 20 touches after averaging 203.6 rushing yards with 10 touchdowns over his previous five games against Houston. He gets the same matchup in two weeks.

  • Will Levis didn’t do much other than run in a goal-line score and left with an injury in overtime. It initially looked so bad the telecast refused to show a replay, but he appears to have avoided a major injury.

  • Devin Singletary had 170 yards from scrimmage on 31 opportunities. He also had a would-be walk-off touchdown run in overtime called back by a holding penalty (a long field goal ended the game instead).

  • Case Keenum was passable aside from his pick-six, while Chris Moore made a spectacular catch in overtime.

  • Noah Brown benefited from Houston’s injuries at receiver, seeing 11 targets and finishing as a top-15 fantasy WR this week.

  • Derek Stingley Jr. and Steven Nelson already might be the best cornerback duo in the league. Bet Texans futures in 2024.

Atlanta Falcons @ Carolina Panthers

  • Bryce Young wasn’t quite as bad as Desmond Ridder, who threw one of the worst interceptions you’ll ever see.

  • Arthur Smith pulled the ultimate troll job to Bijan Robinson’s fantasy managers, dramatically scaling back the rookie’s workload during the first round of the playoffs. Robinson suffered an early drop (in the rain) and lost a fumble in the third quarter, but he had just five carries at halftime compared to 12 by Tyler Allgeier and Cordarrelle Patterson (combined). Allgeier finished with twice as many carries, as Robinson somehow managed just 14 yards from scrimmage against a Carolina defense allowing the third-most fantasy points to running backs this season.

  • Drake London wasn’t targeted until the second half and remains a far better fantasy start at home.

  • Chuba Hubbard has averaged 25 opportunities over the last three games since Frank Reich was fired. He’s a fantasy starter limited by the Panthers offense.