• Is the Eagles offense back?: Jalen Hurts and co. have been playing well the last few weeks and dominated the Bengals in Week 8.
•The Vikings drift away from what has worked: The Vikings blitzed at a low-rate against the Rams, and it cost them.
• Unlock your edge with a PFF+ subscription: Get full access to all our in-season fantasy tools, including weekly rankings, WR/CB matchup charts, weekly projections, the Start-Sit Optimizer and more. Sign up now!
Estimated reading time: 8 minutes
Click here to jump to a game:
MIN@LAR | TEN@DET | BAL@CLE | GB@JAX | IND@HOU | ARI@MIA ATL@TB | CHI@WAS | NYJ@NE | BUF@SEA | NO@LAC | PHI@CIN | KC@LV CAR@DEN | DAL@SF | NYG@PIT
Los Angeles Rams 30, Minnesota Vikings 20
Why the Rams won: Stafford was back to his best with Puka Nacua and Cooper Kupp back in the lineup, but he really excelled in a clean pocket. The Rams offensive line kept Stafford clean on 26 of his 34 dropbacks, and he completed 73.1% of his clean-pocket passes for 232 yards and three touchdowns, earning an 88.1 grade.
Why the Vikings lost: The Vikings drifted away from a defensive game plan that has served them so well in 2024. They blitzed Stafford on just 38.2% of his dropbacks, well below their league-leading 51.2% rate on the season. The Minnesota defense ranks 13th in EPA allowed per play when blitzing but allowed 0.489 EPA per passing play against the Rams while blitzing noticeably less often.
Click here for advanced box-score metrics, snap counts, the player of the game and more.
Detroit Lions 52, Tennessee Titans 14
Why the Lions won: The Lions‘ ground game was effective again, but credit goes to the special teams unit, as they consistently came up with the big plays to get the team rolling. Kalif Raymond and Khalil Dorsey combined for 262 return yards and a touchdown on six attempts, with Raymond earning a 92.5 punt-return grade.
Why the Titans lost: Mason Rudolph put in a below-average performance against the Lions but especially struggled under pressure. The Lions pressured Rudolph on 16 of his 42 dropbacks, and he completed 6-of-13 pass attempts for 94 yards and an interception, taking one sack. Rudolph’s passing grade dropped to 39.4 when pressured, and his inability to create when under duress mattered.
Click here for advanced box-score metrics, snap counts, the player of the game and more.
Cleveland Browns 29, Baltimore Ravens 24
Why the Browns won: The Browns got a big performance out of Jameis Winston in his first start of the season, and his ability to push the ball downfield came up big. Winston connected on 3-of-5 deep attempts (20-plus) yards for 81 yards and two touchdowns, including the game-winning touchdown to Cedric Tillman. Winston earned a 77.1 deep passing grade.
Why the Ravens lost: The Ravens needed their depth pieces to step up at cornerback, as Marlon Humphrey and Nate Wiggins were missing due to injury. They could not. Brandon Stephens and Jalyn Armour-Davis allowed a combined nine receptions for 134 yards and a touchdown, with both earning coverage grades in the low-50s.
Click here for advanced box-score metrics, snap counts, the player of the game and more.
Green Bay Packers 30, Jacksonville Jaguars 27
Why the Packers won: The Packers' ground game, led by Josh Jacobs, carried them to victory against a spirited Jaguars team. Jacobs carried the ball 25 times for 127 yards and two touchdowns, averaging 5.1 yards per attempt and earning a 77.3 rushing grade. He also forced eight missed tackles on his 25 carries and accumulated 98 yards after contact.
Why the Jaguars lost: The Jaguars struggled to stop the Packers‘ ground game, but things were especially bad at the second level of the defense. Linebacker Ventrell Miller missed five tackles and earned a 36.6 run-defense grade. Entering Week 9, the Jaguars defense ranks last in the NFL in EPA allowed per play.
Click here for advanced box-score metrics, snap counts, the player of the game and more.
Houston Texans 23, Indianapolis Colts 20
Why the Texans won: The Texans defense stepped up against one of the best offensive lines in the NFL. The pressure generated from the edge, specifically from Will Anderson Jr. and Danielle Hunter, disrupted the Colts‘ passing game and had Anthony Richardson seeing ghosts. Anderson and Hunter combined for 16 pressures, including three sacks.
Why the Colts lost: The Colts‘ passing game struggled in large part due to Anthony Richardson’s inaccuracy all over the field. Richardson completed 10-of-32 pass attempts for 175 yards and had an average depth of target of 16.5 yards. Just 25% of Richardson’s passes were in the short areas of the field, and he completed just 4-of-8 passes for less than 10 yards, earning a 27.6 passing grade. His ball location and accuracy have to improve — the Colts can’t rely on big plays.
Click here for advanced box-score metrics, snap counts, the player of the game and more.
Arizona Cardinals 28, Miami Dolphins 27
Why the Cardinals won: The Cardinals‘ offensive line did an excellent job protecting Kyler Murray, and Murray rewarded them with a big performance. He completed 21-of-27 pass attempts from a clean pocket for 244 yards and a touchdown, earning an 85.3 grade. He also averaged 9.0 yards per attempt from a clean pocket.
Why the Dolphins lost: The Dolphins' tackling was less than stellar, as the team missed 14 tackles on the day. David Long and Chop Robinson were the main offenders, missing seven tackles between them.
Click here for advanced box-score metrics, snap counts, the player of the game and more.
Atlanta Falcons 31, Tampa Bay Buccaneers 26
Why the Falcons won: Kirk Cousins loves to play against the Buccaneers. The Falcons quarterback earned an excellent 90.9 overall grade, completing 23-of-29 pass attempts for 276 yards and four touchdowns, adding three big-time throws. Cousins averaged 9.5 yards per pass attempt too, and picked apart a banged-up Buccaneers secondary in the win.
Why the Buccaneers lost: The Buccaneers went toe-to-toe with the Falcons, but ultimately it was turnovers that held them back. Two Baker Mayfield interceptions and a Rachaad White fumble cost the Buccaneers the chance to score points while driving down the field, and the Falcons‘ ability to score at will meant the Buccaneers had a small margin for error.
Click here for advanced box-score metrics, snap counts, the player of the game and more.
Washington Commanders 18, Chicago Bears 15
Why the Commanders won: Points were hard to come by in this game, but the lore of Jayden Daniels continues to grow. The Commanders‘ quarterback dominated the intermediate area of the field against the Bears, completing 8-of-12 passes for 124 yards and adding two big-time throws. Daniels earned a 92.6 passing grade on throws of 10-to-19 yards, and that led to drive-extending moments.
Why the Bears lost: Caleb Williams was fed to the wolves against the Commanders. The No. 1 overall pick was pressured on 60.6% of his dropbacks and was sacked three times while completing just 4-of-12 pass attempts for 70 yards. He and the Bears offense, improved in the fourth quarter and almost snuck away with the win.
Click here for advanced box-score metrics, snap counts, the player of the game and more.
New England Patriots 25, New York Jets 22
Why the Patriots won: The Patriots‘ ground game wasn’t efficient, averaging just 3.6 yards per carry, but it was able to show up when it mattered. Drake Maye scored on an 18-yard touchdown run before leaving the game, and then Rhamondre Stevenson added two rushing touchdowns, including a game-winner with 22 seconds remaining. The two combined to force 11 missed tackles with Maye earning a 90.4 rushing grade.
Why the Jets lost: The Jets defense has taken a step back in 2024, and even more so since Robert Saleh was fired. The unit put in another ill-disciplined performance against the Patriots and missed 12 total tackles in the game. Nine total players had at least one missed tackle too, lending to the idea that it’s just poor execution across the board.
Click here for advanced box-score metrics, snap counts, the player of the game and more.
Buffalo Bills 31, Seattle Seahawks 10
Why the Bills won: The Bills have made a concerted effort to run the ball more effectively in 2024 and have succeeded. James Cook carried the ball 17 times for 111 yards and two touchdowns against the Seahawks, averaging 6.5 yards per attempt and rushing for over 10 yards four times. The Bills' offensive line has been excellent at creating double teams and opening lanes for the team's rushers rushers, leading to an average of 4.8 yards per carry as a team on Sunday.
Why the Seahawks lost: The Seahawks’ pass rush was virtually a non-factor against Josh Allen. The Bills quarterback was pressured on just eight of 38 total dropbacks but earned a 24.4 passing grade when pressured. He struggled under duress, but those moments just didn’t come often enough for the Seahawks to make count.
Click here for advanced box-score metrics, snap counts, the player of the game and more.
Los Angeles Chargers 26, New Orleans Saints 8
Why the Chargers won: Justin Herbert is a cyborg. The Chargers quarterback earned a 95.3 overall grade against the Saints, completing 62.5% of his passes for 279 yards and two touchdowns, but it was his ability to create big plays with his arm that really stood out. Herbert had a season-high five big-time throws against the Saints against zero turnover-worthy plays. He’s playing quarterback at a high level.
Why the Saints lost: Saints rookie quarterback Spencer Rattler made his third career start against the Chargers and looked in peril until he was pulled. Rattler struggled at the sight of pressure: In such situations, he completed one pass on seven pressured dropbacks and was sacked four times, recording a 48.2 overall grade when pressured.
Click here for advanced box-score metrics, snap counts, the player of the game and more.
Philadelphia Eagles 37, Cincinnati Bengals 17
Why the Eagles won: Jalen Hurts looks more comfortable in the offense as the weeks go by. He earned an 89.7 overall grade against the Bengals, completing 16-of-20 passes for 236 yards and a touchdown while adding three rushing touchdowns. His connection with A.J. Brown and Devonta Smith was key too, with the two star receivers catching 11 passes for 169 yards and a touchdown.
Why the Bengals lost: It’s clear that the Bengals offense struggles without Tee Higgins, but the defense has been a non-factor when it comes to rushing the passer. The Bengals generated just four total pressures on 20 dropbacks, and their inability to put Hurts under duress meant the Eagles offense played within its desired rhythm.
Click here for advanced box-score metrics, snap counts, the player of the game and more.
Kansas City Chiefs 27, Las Vegas Raiders 20
Why the Chiefs won: The Chiefs defense continues to shine. The pass rush generated 20 pressures and five sacks in the game, pressuring Gardner Minshew on 14 of 36 dropbacks. George Karlaftis led the way with four pressures, while 11 players had at least one pressure in the game.
Why the Raiders lost: The Raiders‘ rushing attack is one of the worst in the NFL and continues to hold back the offense on a weekly basis. Alexander Mattison received the bulk of the work, carrying the ball 14 times for 15 yards, while the team averaged 1.6 yards per carry as a whole. In a season when efficiently running the ball has carried a lot of teams, the Raiders are zigging while everyone else is zagging — just heading in the wrong direction.
Click here for advanced box-score metrics, snap counts, the player of the game and more.
Denver Broncos 28, Carolina Panthers 14
Why the Broncos won: Bo Nix excelled in a clean Broncos pocket against the Panthers. Nix was kept clean on 85% of his dropbacks, and he completed 27-of-33 attempts for 276 yards and two touchdowns, earning a 90.2 passing grade for his efforts. It was his best passing performance of the season by a long stretch. Sure, it was against a defeated Panthers defense, but they all count.
Why the Panthers lost: The Panthers sacked Nix twice, but the pass rush was largely ineffectual for most of the game — and as it has been all season long. The unit totaled just seven total pressures on Nix, allowing the rookie quarterback to deliver a strong performance without too much concern or pressure.
Click here for advanced box-score metrics, snap counts, the player of the game and more.
San Francisco 49ers 30, Dallas Cowboys 24
Why the 49ers won: The 49ers; ground game led the way against the Cowboys once again, as the offense carried the ball 36 times for 223 yards and two touchdowns, averaging 6.2 yards per attempt. Rookie Isaac Guerendo carried the torch, rushing the ball 14 times for 85 yards and a score, but the 49ers found many creative ways to rush the ball and had six rushes for over 10 yards.
Why the Cowboys lost: The Cowboys found their groove in the fourth quarter, with the Dak Prescott and CeeDee Lamb connection leading the way. But until the defense is fixed, things will remain tough. The Cowboys gave up 469 total yards of offense, allowed 7.3 yards per play and had 11 missed tackles. They’re a bottom-five defense in EPA per play for a reason.
Click here for advanced box-score metrics, snap counts, the player of the game and more.
NEW YORK GIANTS VS. PITTSBURGH STEELERS
Coming soon!