• The Saints’ tackling disasterclass: The Buccaneers hung 51 points on the Saints, and the New Orleans defense missed 15 tackles.
• Do the Colts have the best offensive line in the NFL?: The Colts’ offensive line played a big hand in their win against the Titans — is there a better unit in the league?
• Unlock your edge with a PFF+ subscription: Get full access to all of 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
SF@SEA | CHI@JAX | HOU@NE | IND@TEN | TB@NO | CLE@PHI | ARI@GB | WAS@BAL | LAC@DEN | PIT@DEN | DET@DAL | ATL@CAR | CIN@NYG | BUF@NYJ
San Francisco 49ers 36, Seattle Seahawks 24
Why the 49ers won: Nick Bosa and the 49ers' pass rush wreaked havoc upon Geno Smith and the Seahawks’ offensive line. The 49ers defense earned 31 total pressures in the win, with Bosa notching 14 himself. Smith was pressured on 24 of 53 dropbacks and threw two interceptions under pressure. The defense did its job and made life difficult for Smith.
Why the Seahawks lost: Seattle hasn’t defended the run well in 2024, and that continued into the loss against the 49ers. San Francisco racked up 228 yards on the ground, averaging 6.9 yards per carry and breaking off four runs of 10 yards or more. The Seahawks defense was pushed around on the ground and missed six tackles.
Click here for advanced box-score metrics, snap counts, the player of the game and more.
Chicago Bears 35, Jacksonville Jaguars 16
Why the Bears won: Caleb Williams has looked more and more comfortable with every passing week, and this was his best game of the season. The offensive line kept him clean on 64.7% of his dropbacks, and he completed 19-of-21 pass attempts for 178 yards and three touchdowns when kept clean.
Why the Jaguars lost: The Jaguars are playing mistake-ridden, undisciplined football. They were penalized five times, suffered four drops and turned the ball over once. The pressure is on a team that just can’t seem to do anything right.
Click here for advanced box-score metrics, snap counts, the player of the game and more.
Houston Texans 41, New England Patriots 21
Why the Texans won: The return of Joe Mixon helped the Texans, who have struggled on early downs this season. The Texans’ run game accounted for 192 yards, with Mixon rushing for 102 yards and averaging 7.8 yards per attempt to earn a 66.8 rushing grade. Dameon Pierce contributed with a 54-yard touchdown run and an 81.0 rushing grade.
Why the Patriots lost: The Texans' pass rush predictably thwarted Drake Maye and disrupted the rookie quarterback. Maye earned a 32.0 passing grade when pressured, completing 33.3% of his passes for 26 yards while being sacked four times. He’ll get better, but the protection also needs to step up.
Click here for advanced box-score metrics, snap counts, the player of the game and more.
Indianapolis Colts 20, Tennessee Titans 17
Why the Colts won: The Colts arguably have the best offensive line in the NFL, and they were excellent against the Titans. Indianapolis allowed just four pressures and zero sacks in true pass sets, and their excellent protection allowed Joe Flacco, who was pressured on just 22.5% of his dropbacks, to work within a clean pocket.
Why the Titans lost: The Titans offense just doesn’t have the horses right now. Will Levis passed for just 102 yards at 3.8 yards per pass attempt, but the likes of Calvin Ridley, who caught zero of 6 targets, need to step up too. If you don’t have a functional passing game, you don’t have an offense.
Click here for advanced box-score metrics, snap counts, the player of the game and more.
Tampa Bay Buccaneers 51, New Orleans Saints 27
Why the Buccaneers won: The Buccaneers offense carved up the Saints on the ground. Sean Tucker and Bucky Irving combined for 217 yards and two touchdowns, as the Bucs averaged 7.9 yards per rush as a team. Tucker and Irving earned 91.2 and 88.7 rush grades, respectively.
Why the Saints lost: The Saints were plagued by one of the worst tackling performances you’ll see on an NFL field. The defense had 15 missed tackles against the Buccaneers, allowing Tampa to rack up 594 yards of offense, with 277 of those yards coming on the ground. Not even a laundry list of injuries can account for that.
Click here for advanced box-score metrics, snap counts, the player of the game and more.
Philadelphia Eagles 20, Cleveland Browns 16
Why the Eagles won: The Eagles offense looked much improved with their top two targets, A.J. Brown and DeVonta Smith, back on the field. Brown caught six passes for 117 yards and a touchdown, earning a 90.6 receiving grade, while Smith caught three passes for 64 yards and a score. The explosive element of the offense is back.
Why the Browns lost: The Browns’ offensive line has struggled all season, and that continued by allowing 16 pressures and three sacks against the Eagles. Deshaun Watson was pressured on 50% of his dropbacks, too. There might not be a worse offense in the NFL.
Click here for advanced box-score metrics, snap counts, the player of the game and more.
Green Bay Packers 34, Arizona Cardinals 13
Why the Packers won: The Packers kept Jordan Love clean on 69.4% of his dropbacks and reaped the rewards. Love completed 17-of-23 pass attempts for 188 yards and three touchdowns when kept clean, earning an 81.6 passing grade and averaging 8.2 yards per pass attempt.
Why the Cardinals lost: The Cardinals struggled to defend the intermediate area of the field, with Love completing 4-of-5 passes for 81 yards and a touchdown on passes between 10-19 yards and earning a perfect 158.3 passer rating. Arizona’s linebackers and safeties struggled all game, with linebacker Mack Wilson allowing five receptions for 54 yards when targeted.
Click here for advanced box-score metrics, snap counts, the player of the game and more.
Baltimore Ravens 30, Washington Commanders 23
Why the Ravens won: Lamar Jackson and the Ravens offense picked apart the Commanders with play action. Jackson completed 12-of-13 play-action passes for 239 yards, averaging 18.4 yards per attempt and earning a 93.3 passing grade. Those play-action attempts tacked on big yardage and allowed the offense to rip off big plays, plus get in scoring position consistently.
Why the Commanders lost: The Commanders defense did what so many have done: it fell prey to Derrick Henry. The veteran running back carried the ball 24 times for 132 yards and two touchdowns, averaging 5.5 yards per attempt. The defense allowed an average of 0.605 EPA per rush play, with Henry and Jackson combining for three rushes of 15 yards or more.
Click here for advanced box-score metrics, snap counts, the player of the game and more.
Los Angeles Chargers 23, Denver Broncos 16
Why the Chargers won: Justin Herbert had his best game of the season and handled the Broncos' constant blitz well. The Denver defense blitzed Herbert on 60.5% of his dropbacks, and he completed 12-of-22 pass attempts for 117 yards, a touchdown and a big-time throw, earning a 71.8 passing grade.
Why the Broncos lost: Turnovers slowed down a Broncos offense that just can’t afford to turn the ball over. Bo Nix threw an interception on the Broncos' first drive of the game, while Javonte Williams lost a fumble later in the game. There isn’t enough talent here to outweigh those mistakes.
Click here for advanced box-score metrics, snap counts, the player of the game and more.
Pittsburgh Steelers 32, Las Vegas Raiders 13
Why the Steelers won: The Steelers offense won on the ground, with Najee Harris and Justin Fields combining for 165 rushing yards and three touchdowns. Harris forced six missed tackles and earned 86 yards after contact with a 90.4 rush grade, while Fields forced three missed tackles and recorded a 83.2 rush grade.
Why the Raiders lost: The offense was anemic again, but the Raiders defense has a lot to answer for, too. The defense missed 13 tackles, with seven of those missed tackles coming in the run game. That cost the Raiders in some big spots, including on a long Harris touchdown run where he broke multiple tackles.
Click here for advanced box-score metrics, snap counts, the player of the game and more.
Detroit Lions 47, Dallas Cowboys 9
Why the Lions won: It wasn’t a perfect passing performance from Goff, but he still excelled when kept clean by the offensive line. When not pressured, Goff completed 14-of-19 attempts for 226 yards and three touchdowns while earning a 73.6 passing grade.
Why the Cowboys lost: The Cowboys’ pass protection struggled mightily against the Lions, giving up 19 pressures and three sacks over the course of the game. The surprising element is Hall of Fame guard Zack Martin allowing seven pressures and a sack, earning a 0.0 pass blocking grade. No one covered themselves in glory here.
Click here for advanced box-score metrics, snap counts, the player of the game and more.
Atlanta Falcons 38, Carolina Panthers 20
Why the Falcons won: The Falcons' offensive line took advantage of a bad Panthers defense and pushed it around the field. Atlanta allowed just six pressures the entire game, giving Kirk Cousins a clean pocket to work from, and opening holes in the running game. Bijan Robinson and Tyler Allgeier capitalized, combining for 200 rushing yards and three touchdowns on the ground.
Why the Panthers lost: The Panthers were missing Jadeveon Clowney in this game, and it hurt the front-seven dearly. The Carolina pass rush hurried Cousins just five times, and only three defensive linemen earned a pressure in the game. The Panthers just don’t have the manpower to compete.
Click here for advanced box-score metrics, snap counts, the player of the game and more.
Cincinnati Bengals 17, New York Giants 7
Why the Bengals won: The Bengals offense wasn’t as explosive as recent weeks, and Joe Burrow was sacked four times, but he was excellent when kept clean. Burrow completed 16-of-19 pass attempts for 163 yards and one big-time throw in such situations, earning a 91.5 overall grade.
Why the Giants lost: The Giants struggled to deal with the Bengals' pressure throughout the game. Trey Hendrickson won his matchup against Andrew Thomas by notching four pressures and two sacks, while the Giants gave up 11 total pressures. The offense lacked punch, and the offensive line couldn’t give Daniel Jones a stable platform to operate.
Click here for advanced box-score metrics, snap counts, the player of the game and more.
Buffalo Bills @ New York Jets
Why the Bills won: RB Ray Davis stepped in on his first career start and gave the Bills a lot of production running the ball. The rookie carried the ball 20 times for 97 yards, forcing seven missed tackles and averaging 3.45 yards after contact per attempt. Davis helped churn the yards and the Bills looked productive with him leading the charge.
Why the Jets lost: The Jets defense was unusually mistake-ridden on Monday night. They gave up six penalties on the night and missed 12 tackles, and though they slowed the Bills down in the second half, it was still an uncharacteristic performance that held the offense back.
Click here for advanced box-score metrics, snap counts, the player of the game and more.