NFL Game Recaps of previous weeks and seasons can be found via links at the bottom of the page.
Cowboys 41, Seahawks 35
Detractors of the Cowboys will state that Dallas hasn’t beaten a team that currently has a winning record. Despite the victory over the Seahawks, that’s still the case because Seattle has dropped to 6-6. However, the Cowboys overcame adversity in this game and won for the first time when they weren’t able to completely dominate their opponent at home.
It was apparent that this would be a competitive game when D.K. Metcalf caught a 73-yard touchdown pass to give Seattle an early lead. The Cowboys struck back and went up 10 after a couple of scores, but the Seahawks wouldn’t go away. Geno Smith continued to relentlessly torch Dallas’ secondary, even taking a 21-20 lead at the end of the opening half.
The Cowboys seemed to get the advantage back in the second half when DaRon Bland, who was beaten on numerous occasions in this game, intercepted a pass while Dallas was down 28-27. The Cowboys squandered the extra opportunity, however, as CeeDee Lamb dropped a pass on fourth down. Metcalf then scored his second touchdown of the evening on the ensuing possession give the Seahawks a 35-27 lead.
Following a field goal and a stop by the defense, Dallas was able to take the lead with a seven-play, 54-yard touchdown drive, with Prescott finding Jake Ferguson for the go-ahead touchdown. With the two-point conversion, Dallas went up 38-35. The defense then had two more stops to ice the victory.
The Seahawks were 9.5-point underdogs in this game, so very few people expected Geno Smith to perform on a high level after struggling for months. Smith was matched up against a highly ranked defense, but looked like he was throwing in seven-on-seven drills most of the time. Smith went 23-of-41 for 334 yards, three touchdowns and an interception, which was the great play by Bland.
Despite Metcalf’s big night – he caught six passes for 134 yards and three touchdowns – Jaxon Smith-Njigba had the most targets from Smith. Smith-Njigba saw 11 balls go his way, and he hauled in seven of them for 62 yards. He also appeared to score a touchdown, but replay review nullified it to the dismay of the official in the Amazon Prime booth. Smith-Njigba appears to have passed Tyler Lockett (5-47) as Seattle’s No. 2 receiver.
Zach Charbonnet drew the start for the injured Kenneth Walker. Charbonnet rushed for 60 yards and a touchdown on 19 carries. Curiously, he had just one catch, but he made it count because it went for 39 yards. Charbonnet went into the medical blue tent at the end of the game, so it’s unclear what his status is.
As for the victors, Prescott continued his potential MVP campaign with a strong performance. He went 29-of-41 for 299 yards and three touchdowns. He also scrambled seven times for 23 rushing yards. Prescott had a rushing touchdown negated by a hold right before halftime.
It wasn’t a surprise that Prescott’s top receiver was CeeDee Lamb. The elite wideout had a monster game with 12 catches for 116 yards and a touchdown. However, he had two bad moments when he dropped a pass on fourth down and then dropped a potential touchdown.
In addition to Lamb, Prescott’s touchdowns went to Ferguson (6-77) and Brandin Cooks (4-45). No other Dallas player logged more than 17 receiving yards.
Tony Pollard had a disappointing yards-per-carry game, but made up for it with a touchdown. He rushed for 68 yards and the score on 20 attempts. He caught three passes as well, but for only 15 receiving yards.
Colts 31, Titans 28
When breaking down games on the NFL Picks page, I break down the offensive and defensive units of each team. I don’t discuss special teams, but those units decided this affair.
The Titans had a lead for much of the afternoon, leading 17-3 at one point and 17-13 at halftime. The Colts, however, were able to take the lead via a touchdown on a blocked punt. If that wasn’t bad enough, the Colts blocked yet another punt to set up a score the next time Tennessee tried to boot it away. What looked like a sure Titans victory turned very quickly.
Tennessee, however, stormed back from down six with a 75-yard touchdown drive in which Will Levis found DeAndre Hopkins for what appeared to be the game-winning touchdown. However, Tennessee special teams struck again, as Nick Folk was wide left on his extra point, sending this game to overtime.
The Titans won the opening coin toss and marched down the field before stalling in field goal range. Tennessee’s lead was quickly threatened, however, when Gardner Minshew heaved a bomb to Alec Pierce for a 55-yard strike. Minshew then found Michael Pittman Jr. in the end zone for the victory.
Minshew had an up-and-down game with some mistakes, including a lost fumble on a strip-sack in the red zone when he held the ball forever. However, he came through in the clutch to get the Colts to 7-5. Minshew finished 26-of-42 for 312 yards and two touchdowns.
Pittman, who secured the decisive score, led all players in receiving with 11 grabs for 105 yards and a touchdown. Pierce wasn’t too far behind him with three catches for 100 yards and a score. Josh Downs (3-14) struggled in a very difficult matchup.
Zack Moss was everyone’s favorite DFS cheap option, but as stated all week on this Web site, he was an obvious fade. Moss rumbled for just 51 yards on 19 carries. He also caught two passes, but for only six receiving yards.
Derrick Henry, conversely, was a great play in DFS, and he produced great numbers despite missing the fourth quarter and overtime with an injury. Henry generated 102 yards and two touchdowns on just 21 carries. Tyjae Spears did a good job as a replacement, dashing for 75 yards on 16 attempts.
Levis, like Minshew, had a mixed performance. He made some clutch throws in the fourth quarter, but had accuracy issues otherwise. He went 16-of-33 for 224 yards and a touchdown. He lost a fumble on a strip-sack, but somehow got the ball back when he chased down the recovering player and forced a fumble.
It’s not a surprise that Levis connected most often with DeAndre Hopkins, who caught five of his 12 targets for 75 yards and a score. Chig Okonkwo (3-62) was the only other Titan with more than 28 receiving yards.
Chargers 6, Patriots 0
This game reminded me of a backyard basketball game between a disinterested, much older brother taking on a younger sibling who tried the best he could, but simply couldn’t win because of natural disadvantages. The Chargers looked like they were hung over after a fierce night of drinking. They made numerous mistakes and simply played lethargically. An example of this was a drive early in the third quarter that saw Austin Ekler drop a pass, a Keenan Allen target fall incomplete due to a miscommunication, and a dropped interception.
Despite the Chargers playing poorly, they were still able to prevail, 6-0. This is because the Patriots were incredibly inept. Bailey Zappe didn’t threaten the defense at all downfield, which undoubtedly made New England supporters wonder why Malik Cunningham or Will Grier didn’t replace him. Perhaps this was all part of the plan, as the loss allowed the Patriots to have a better chance of landing the No. 1 pick in the 2024 NFL Draft.
Justin Herbert was the better quarterback in this game, but only by default. He struggled to complete half of his passes, albeit in rainy and windy conditions. Herbert went 22-of-37 for 212 yards.
Allen led the Chargers in receiving while eclipsing 100 receptions on the year, but he had a disappointing output, considering the great matchup. Allen caught five of his nine targets for 58 yards.
Ekeler’s fantasy output was even more disappointing than what Allen produced. Ekeler mustered just 18 yards on 14 carries. He also caught just two passes for only nine receiving yards.
The leading rusher in this game was neither Ekeler nor Rhamondre Stevenson, who lost a fumble early in the game in field goal range. Stevenson (9-39) suffered an injury, forcing Ezekiel Elliott into the lead-back role. Elliott rushed for 52 yards on 17 carries. He also logged four receptions for 40 yards.
As for Zappe, he was a dreadful 13-of-25 for 141 yards. He was lucky that a potential interception of his was dropped. He also took a bad sack on a fourth down in field goal range. With options like Cunningham and Grier available, there’s no reason for Zappe to continue as the starter.
With Kendrick Bourne and Demario Douglas sidelined, DeVante Parker led the Patriots in receiving with four grabs for 64 yards. Hunter Henry (2-15) was a big disappointment, as was Tyquan Thornton, who dropped a deep pass.
Lions 33, Saints 28
This game had an instant look of one of the all-time blowouts. The Lions opened up with a touchdown drive and quickly retained possession after Derek Carr threw an interception where the ball went through Juwan Johnson’s hands. Jared Goff quickly responded with a quick touchdown to Sam LaPorta to go up 14-0. On the next drive, LaPorta made a big play, and then Goff hit Amon-Ra St. Brown for a score. It was 21-0 just seven minutes into the game!
For whatever reason, the Lions had issues maintaining drives after that, at least until halftime. Still, they carried a 24-7 lead into the break. The Saints, however, stormed back with a couple of touchdowns to trim the lead to 24-21. It looked like they had Detroit on the ropes, but the Lions finally awakened from their slumber to score a field goal and then a touchdown following a New Orleans fumble on a botched snap in the fourth quarter to keep the Saints at arm’s length.
Perhaps the reason the Lions struggled to do anything offensively was that St. Brown disappeared after a quick start. St. Brown had two early catches for 49 yards and a touchdown, but failed to log a single reception after that. Instead, it was all LaPorta, who reeled in all nine of his targets for 140 yards and a touchdown.
Jared Goff didn’t do much passing in the second half, thanks to the lead and the Saints possessing the ball a healthy amount of the time. Goff went 16-of-25 for 213 yards and two scores.
Goff didn’t really need to throw very much because the Lions did a good job of generating yardage on the ground. Jahmyr Gibbs outgained David Montgomery, 60-56, even though Montgomery had 18 carries compared to eight for Gibbs. Montgomery scored a touchdown, however.
Goff was not the leading passer in this game despite Carr suffering an injury in the second half. Carr was sharp after intermission, finishing 17-of-22 for 226 yards, one touchdown and the aforementioned pick that wasn’t his fault. Jameis Winston replaced him and went 2-of-5 for 41 yards with a 33-yard reception of his to Chris Olave coming off a deflection.
Speaking of Olave, he wasn’t supposed to play coming off a concussion, but he ended up with a big performance. He caught five balls for 119 yards. Alvin Kamara was the only other Saint with more than 30 receiving yards.
Kamara, who had six catches for 58 receiving yards, found a way to score twice on the ground with 14 carries for 51 yards. Kamara was robbed of a third touchdown by replay review, only to see Taysom Hill vulture him on the next play. Hill rushed for 59 yards on 13 attempts.
Cardinals 24, Steelers 10
This game completely changed on one play. This was a 3-3 affair in the second quarter when Kenny Pickett scrambled toward the goal line on a fourth down. He was brought down one yard shy of the end zone, and to make matters worse, he suffered an injury on the play. The Steelers defense, perhaps distraught about seeing their quarterback go down, were lethargic on the ensuing Arizona drive. The Cardinals, as a consequence, were able to drive the length of the field, with Kyler Murray hitting Trey McBride for a touchdown to cap off a 99-yard drive.
With Pickett out, Mitchell Trubisky was tasked with running the offense. Instead, he ran them into the ground by fumbling the ball via a dropped snap in the third quarter to set up Arizona with a quick score. Just like that, the Cardinals were up 17-3, and an offense run by Trubisky couldn’t possibly climb out of that hole.
Trubisky didn’t have much of a chance either because Arizona played keep-away very well in the second half. They did this with James Conner’s running. The former Steeler rumbled for 105 yards and two touchdowns.
Murray had an efficient game, going 13-of-23 for 145 yards and a touchdown. He didn’t run much against a Steeler defense that is used to defending Lamar Jackson, so his nine scrambles went for 20 rushing yards. Murray was typically great at converting third downs, going 10-of-17 in those instances. He was robbed of a deep touchdown pass to Rondale Moore, with the score being nullified by a hold.
Only one Arizona player logged more than 21 receiving yards. That was McBride, who had a huge performance against Pittsburgh. He caught eight of his nine targets for 89 yards and a touchdown. Marquise Brown didn’t record a single catch on three targets.
As for the Steelers, Pickett (7-of-10, 70 yards) was missed. Trubisky went 11-of-17 for 117 yards and a touchdown, but most of those stats came via a garbage-time scoring drive.
Trubisky’s lone touchdown was thrown to Diontae Johnson, who didn’t have a big game otherwise with four catches for 33 yards. George Pickens was better in that regard with four grabs for 86 yards, but didn’t find the end zone.
Given the constant deficit, the Steelers weren’t able to run as much as they wanted versus Arizona’s poor ground defense. Najee Harris rushed for 63 yards on 16 carries, while Jaylen Warren (9-59) didn’t get enough opportunities.
Dolphins 45, Redskins 15
The Dolphins and Redskins had perhaps the greatest mismatch of this NFL season. Washington’s secondary is abysmal and hasn’t been able to stop anyone except for Mac Jones. The Dolphins, meanwhile, maintain one of the league’s best passing attacks. Given this huge edge in Miami’s favor, it’s not a surprise at all that this was a 45-15 blowout victory.
It was quite apparent in the early going that this would be a one-sided affair. Tua Tagovailoa hit Tyreek Hill for a 78-yard touchdown to go up 7-0. Following a field goal, the Dolphins pick-sixed the Redskins when Sam Howell threw the ball right to Andrew Van Ginkel. Washington scored a touchdown after that, but Miami erased all hope for the Redskins when Tagovailoa hit Hill for another bomb – this time, a 60-yarder – to go up 17 once more. It was more of Miami the rest of the way, as the Dolphins could have won by a wider margin but were eager to run out the clock in the fourth quarter.
Tagovailoa had a disappointing fantasy output, given the elite matchup. He went 18-of-24 for 280 yards and two touchdowns. The pick-six and huge fourth-quarter lead prevented him from eclipsing the 400-yard barrier.
Hill, on the other hand, was as great as his supporters anticipated. Hill reeled in five balls for 157 yards and both of Tagovailoa’s scores. Jaylen Waddle, conversely, had just five catches for 52 yards. He dropped a pass that would have gone for about 15-20 yards, but then made up for it by drawing an interference flag.
As mentioned, the Dolphins ran out the clock at the end, giving the ball to their backs on every play late in the game. De’Von Achane was able to benefit from this, scoring his second touchdown with a couple of minutes remaining. In addition to the two scores, Achane dashed for 73 yards on 17 carries. Raheem Mostert also scored, but was limited to just 43 yards on 11 attempts because of game flow.
The Redskins didn’t get a chance to run as much as they wanted because of the constant deficit. It also didn’t help that Brian Robinson (7-53) suffered an injury. Antonio Gibson was not very good as a replacement with just 35 yards on 10 attempts.
Howell failed to keep up with the Dolphins’ high-powered passing attack, going 12-of-23 for 127 yards and an interception, though he was able to salvage his fantasy performance with two rushing scores.
Curtis Samuel was very close to scoring a touchdown, getting tackled at the 1-yard line at the end of a 33-yard reception. He led the Redskins in receiving with 65 yards on four catches. Aside from Gibson (4-37) and Jahan Dotson (2-23) no other Washington player logged more than two receiving yards. Terry McLaurin failed to reel in any of his three targets.
Texans 22, Broncos 17
Denver’s defense had been hot entering this game, but for the team to prevail, it needed to see Russell Wilson beat Houston downfield. The Texans had been poor against the run for years, but had improved in that regard. Its weakness now was aerial attacks, so Wilson needed to do more than be a game manager.
Wilson, to no surprise, failed miserably. He had the team in position to win, but could have possibly been ahead had he not made mistakes earlier. Wilson threw three interceptions, with two being his fault. The first was tipped at the line of scrimmage. The second occurred when he had Courtland Sutton open for a deep touchdown, but underthrew him for the pick. The third came at the very end when Wilson drove his team into the red zone. Wilson ended all hope for the Broncos when he threw the ball up for grabs for his third pick of the afternoon. Wilson finished 15-of-26 for 186 yards, one touchdown and the three interceptions. He was solid as a rusher, scrambling 10 times for 44 yards and a touchdown.
Conversely, C.J. Stroud had unexpected success against Denver’s supposed elite pass defense. Stroud completed deep passes relentlessly against the Denver secondary, though it helped that Patrick Surtain got hurt at the end of a 52-yard completion to Nico Collins. Stroud hit Collins repeatedly for deep bombs to establish a double-digit lead that the Texans maintained for a healthy chunk of the afternoon. Stroud ended up 16-of-27 for 274 yards and a touchdown.
Collins had the big performance of the two Houston receivers because Tank Dell was carted into the locker room when he went down awkwardly on a Dameon Pierce touchdown run. Dell was eventually ruled out with an ankle injury, and because he got hurt so early in the game, he didn’t record a single stat. Collins, on the other hand, reeled in nine of his 12 targets for 191 yards and a touchdown. He and Brevin Jordan (3-64) were the only Texans with more than 14 receiving yards, as Noah Brown failed to catch either of his two targets.
Speaking of Pierce, it was shocking to once again see him have more carries than Devin Singletary. And to no one’s surprise, Singletary was more efficient with his workload. Pierce’s 15 carries went for 41 yards and a touchdown, while Singletary dashed for 36 yards on just eight attempts.
The leading rusher in this game was Javonte Williams, who gained 46 yards on 13 carries. He also caught three passes for 24 receiving yards.
Despite Wilson missing him for a deep score, Sutton was Denver’s leading receiver. He caught two of his seven targets for 77 yards. Jerry Jeudy had the better matchup, but was only able to accumulate three catches for 51 yards. No other Bronco had more than Williams’ 24 receiving yards.
Falcons 13, Jets 8
By Charlie Campbell –
@draftcampbell
EDITOR’S NOTE: I can’t believe the Falcons covered as road favorites. This is how pathetic the Jets are. Then again, they probably would have covered had Dalvin Cook not fumbled to set up a quick Atlanta score. Why would anyone intentionally give Cook any significant work?
With Tim Boyle starting for the Jets and Desmond Ridder playing for Atlanta, this game was expected to be a low-scoring affiar, and it lived up the billing. Ultimately, Ridder produced one touchdown drive, and that proved to be difference in this defensive struggle.
Late in the first quarter, the Jets crossed midfield with a 15-yard pass to Tyler Conklin, but a Bud Dupree sack forced a punt. New York pinned it at the one, and a couple of plays later, Quinnen Williams exploded into the backfield to start a safety. Early in the second quarter, Atlanta’s Nate Landman stripped Dalvin Cook, and Falcons rookie Clark Phillips recovered the fumble around midfield. A few plays later, Ridder connected with MyCole Pruitt for a 20-yard touchdown. Down 7-2, the Jets got moving with a 36-yard completion to Xavier Gibson, and that led to a field goal. Late in the second quarter, Ridder led a field goal drive to make the score 10-5 at halftime.
At the start of the third quarter, the Jets finally got the ball to wide receiver Garrett Wilson for a 31-yard gain, and then he made a leaping grab for a fourth-down conversion. The Jets once again settled for a field goal on that drive. Atlanta responded with Ridder leading a field goal drive to make things 13-8. Boyle lofted a poor pass just before the start of the fourth quarter, and it was an easy interception for the outstanding Jesse Bates, but the Falcons offense couldn’t do anything with the good field position.
Trevor Siemian replaced Boyle after the interception, but he was no upgrade for the Jets. Late in the fourth quarter, Siemian was hit as he threw by Richie Grant, and Atlanta recovered the fumble. The returner was on his way for a touchdown, but the moronic officials had blown the play dead as an incomplete pass. The Falcons’ challenge was successful, and that got them the ball, but the incompetent officiating took a touchdown away from their defense. The Jets forced Atlanta to punt, and that gave Siemian one more chance backed up deep in New York territory.
Ridder completed 12-of-27 passes for 121 yards and a touchdown.
Bijan Robinson ran for 53 yards on 18 carries and had three receptions for 26 yards.
Kyle Pitts (4-51) and Drake London (1-8) were held back by Ridder, as usual.
Boyle was 14-of-25 for 148 yards and an interception before getting benched. Siemian was 5-of-13 for 66 yards – and lost a fumble – in relief duty.
Breece Hall had only 16 yards on 13 carries.
Garrett Wilson caught three passes for 50 yards.
Rams 36, Browns 19
By Charlie Campbell –
@draftcampbell
EDITOR’S NOTE: It’s crazy to think that the Browns easily could have covered this game when it was 20-19 as a result of the missed extra points. Some turnovers and late-game nonsense allowed the Rams to run away with what seems like a blowout.
Both of these teams are fighting for a wild card spot, but are going in opposite directions. The Rams came away winning their third straight and are in the thick of the fight for a wild-card spot in the NFC. At 6-6, the Rams are now in possession of the final wild card spot, overtaking the reeling Seahawks for the No. 7 seed as things stand right now.
At 7-5, Cleveland is trying to just hang on after losing Deshaun Watson for the season. With backup Dorian Thompson-Robinson injured, veteran journeyman and former Super Bowl champion Joe Flacco got the start for the Browns. Flacco played surprisingly well for a guy who hasn’t been on the team very long, but eventually Flacco had a critical mistake. Then the Los Angeles offense took advantage to pull away with 16 fourth-quarter points.
The Browns took the opening drive down the field, and Flacco connected with Jerome Ford for a 24-yard touchdown in busted coverage. The Rams responded with a field goal drive to make the score 7-3. After a Cleveland punt, Matthew Stafford hit wide receiver Puka Nacua on the run. Nacua then exploded down the field for a 70-yard touchdown. Flacco connected with former Jets teammate Elijah Moore for a 42-yard gain, and that led to a field goal for Cleveland. Late in the first half, the Rams moved down the field to get a field goal for a 13-10 lead at halftime.
In the third quarter, Flacco led an impressive drive, hitting completions to David Njoku and Moore to set up a first-and-goal. The drive stalled though, and Dustin Hopkins tied it at 10 with a field goal. After going into the locker room with a chest injury, Nacua returned to the field and took an end around for 31 yards. Stafford capped the drive by throwing a laser to Demarcus Robinson (4-55-1) for a touchdown and a 20-13 lead entering the fourth quarter. Flacco quickly responded, moving down the field before finding Harrison Bryant (5-49-1) for a short touchdown toss. Hopkins missed the extra point to keep the Browns at a 20-19 deficit.
After getting the ball back, Flacco made a poor decision, throwing a deep ball up for grabs that John Johnson ran underneath for an interception. Stafford took advantage, moving the ball down the field and connecting with Cooper Kupp (6-39-1) for a short touchdown. After the Browns failed on a fourth-down try, the Rams ended up with good field position, and Kyren Williams capped the possession with a short rushing touchdown. In garbage time, Aaron Donald registered a safety to make the final score 36-19.
Stafford completed 22-of-37 passes for 279 yards and three touchdowns.
Williams ran for 88 yards and a touchdown on 21 carries. He also caught three passes for 24 yards.
Nacua caught four passes for 105 yards and a touchdown. He also rushed twice, picking up 34 yards.
Flacco completed 23-of-44 passes for 254 yards, two touchdowns and an interception.
Kareem Hunt had 48 yards on 12 carries. Jerome Ford ran for 19 yards on nine carries and caught three passes for 33 yards and a touchdown.
Moore caught four passes for 83 yards.
Buccaneers 21, Panthers 18
The Panthers fired Frank Reich ahead of this game, so it was interesting to see how the shake-up would affect Bryce Young. The No. 1 overall pick has been the worst of all the rookie quarterbacks this year – even the mid- and late-round picks – but a chance could have impacted him positively, especially in a very favorable matchup against Tampa Bay’s atrocious pass defense.
However, it was more of the same from Young. The struggling quarterback failed to complete half of his passes for 178 yards and an interception. The pick was telling, as it occurred on the final drive where he waited too long to throw to Adam Thielen even though Thielen was wide open. Young isn’t getting much help from his supporting cast, but he’s also not reading the field very well.
Young is also not getting boosted from the coaching staff, despite Reich’s departure. Young was constantly in unfavorable down-and-distance situations because the Panthers often ran the ball on first and second down. Chuba Hubbard, who rushed for 104 yards and two touchdowns on 25 carries, had some nice gains, which is why the Panthers were able to score 18 points. However, when Hubbard was stuffed for a short gain, the drive would end because Young was incapable of converting third downs. He was a mere 3-of-15 in such situations.
The final score may say that Young kept this game close, but this was a 21-10 affair before a back-door touchdown. The Buccaneers averaged 1.5 more yards per play than the Panthers.
As for the Buccaneers offense, the most noteworthy thing to happen in this game was that Mike Evans crossed 1,000 receiving yards on the season for the 10th time in his career. Only Jerry Rice has more 1,000-yard receiving seasons in his career than Evans. The future Hall of Famer had a huge performance with seven catches for 162 yards and a touchdown. He was the only Tampa player with more than 22 receiving yards.
Despite Evans’ brilliance, Baker Mayfield failed to complete half of his passes, going 14-of-29 for 202 yards, one touchdown and an interception where he threw the ball up for grabs for Evans. Mayfield took some hard hits in the pocket in this game, though things improved for him when Brian Burns was ejected for throwing a punch.
Aside from Evans, Rachaad White was the top fantasy producer for the Buccaneers. White dashed for 84 yards and a touchdown on 20 carries, and he also caught three passes for 22 receiving yards.
Carolina’s leading receiver was Jonathan Mingo, who hauled in six of his 10 targets for 69 yards. D.J. Chark was next with three grabs for 56 yards. Thielen (3-25) was a massive disappointment.
49ers 42, Eagles 19
The 49ers had playoff revenge on their mind, but given that the Eagles were home underdogs and heard San Francisco players talking lots of trash, the motivational angle seemed to favor them. That seemed like it would help Philadelphia pull the upset, as the Eagles put together consecutive field goal drives to begin the game. The defense put the clamps on the San Francisco offense, holding the 49ers to negative yardage through two drives.
Then, everything changed. Kyle Shanahan was able to scheme open his receivers masterfully, and Brock Purdy delivered most of his passes perfectly to them. Meanwhile, San Francisco’s defense displayed some amazing coverage. There were instances where Jalen Hurts had an eternity to throw in the pocket behind his elite offensive line, but he would have no one to throw to. This allowed San Francisco to go on a 35-7 run before some garbage-time scores occurred.
Brock Purdy had never won a big game against a top-end opponent on the road in the NFL, so this was a big step in his development. He just keeps getting better all the time, resembling Tom Brady in the early days when Brady began his career as a game manager and evolved into a great quarterback after some experience. Purdy probably could not have done something like this last year, but he was amazing, going 19-of-27 for 314 yards and four touchdowns.
Of course, the difference between Purdy and Brady in his early years is that Brady didn’t have anything close to Purdy’s supporting cast. Whereas Brady was throwing to Troy Brown, David Patten, Kevin Faulk and Jermaine Wiggins, Purdy has numerous Pro Bowlers at his disposal, including Deebo Samuel, who blew by Philadelphia’s bewildered secondary. Samuel had just four catches, but made all of them count with 116 yards and two touchdowns. He also scored on a rush with 22 yards on the ground.
Elsewhere in San Francisco’s receiving corps, Brandon Ayiuk (5-46) and Jauan Jennings (3-34) also scored. George Kittle did not, but he logged four receptions for 68 yards.
Christian McCaffrey didn’t have his usual, dominant game, but he was still effective against the league’s top run defense. He dashed for 93 yards and a touchdown on just 17 carries, and he caught three balls for 40 receiving yards.
The Eagles couldn’t run the ball at all. Hurts was the leading rusher with 20 yards. D’Andre Swift was limited to just 13 yards on six carries.
As for Hurts’ passing, the MVP frontrunner went 26-of-45 for 298 yards and a touchdown. He also scored once on the ground with his patented Brotherly Shove, but this was a disappointing output for him.
Hurts’ sole aerial score went to DeVonta Smith, who caught nine of the 11 balls thrown his way for 96 yards. He trailed only A.J. Brown, who hauled in eight of his 13 targets for 114 yards.
Packers 27, Chiefs 19
When the Packers beat the Chargers, many chalked that up to the Chargers finding another way to lose. When the Packers beat the Lions on Thanksgiving, the detractors believed this was just a case of Detroit being an overconfident large favorite. Now that the Packers have beaten the Chiefs? Perhaps they’ll finally be recognized as a legitimate playoff team.
The transformation of the Packers has been remarkable. They lost to the Falcons in Week 2, then suffered defeats against the Broncos and Raiders. The’ve been hot lately, however, and one of the primary reasons has been the evolution of “No Cookie” Jordan Love. The former first-round pick was incredibly sharp in this game, showing terrific accuracy as he relentlessly torched the Kansas City secondary. Love’s best play was on a fourth-and-2 when he launched a deep ball with incredible touch to Romeo Doubs, dropping it “into the bucket.” This set up a touchdown pass to Christian Watson, who made a great, leaping grab.
Love finished 25-of-36 for 267 yards and three touchdowns. He was exceptional against a defense ranked in the top 10 entering this contest. What’s remarkable is that Love has been performing on a higher level of late despite having a receiving corps lacking experience. Aaron Jones has been out as well, so his return will futher boost the offense.
As for the Chiefs, they fell behind early because they constantly shot themselves in the foot with untimely penalties. Injuries didn’t help matters either, as Bryan Cook, Drue Tranquill and Donovan Smith all left the game. Of the three, Cook’s injury looked like it was the worst.
The Chiefs eventually began playing better, and they had a chance to tie the game at the end. However, the conclusion of this game was marred by poor officiating. It began when the Packers were flagged for hitting Patrick Mahomes out of bounds, though Mahomes was actually still in the field of play when the contact happened. The next bad call went against the Chiefs, as Marquez Valdes-Scantling was tackled before the ball got to him downfield, yet no interference flag was thrown. Valdes-Scantling was then ruled out of bounds when he clearly wasn’t, giving the Chiefs more of a chance because the ticking clock stopped. And on the final play of the game, Travis Kelce was shoved on the Hail Mary attempt, but no flag was thrown.
Amid this horrible officiating, Mahomes had yet another mediocre performance, going 21-of-33 for 210 yards, one touchdown and an interception on a throw in which his receiver stopped running the route. While the interception wasn’t necessarily Mahomes’ fault, the All-Pro quarterback hasn’t performed up to his standards this year.
In fairness, Mahomes’ receiving corps is rather lackluster. Kelce is his sole viable veteran receiver. Kelce led the way with 81 yards on four catches, while Rashee Rice chipped in with eight grabs for 64 yards. Aside from that, the Chiefs got nothing from anyone else.
Isiah Pacheco was at least a big producer on the ground. He rushed for 110 yards and a touchdown on only 18 carries, but he was ejected on his team’s final drive for throwing a punch.
A.J. Dillon didn’t have as much success as Pacheco in this game. He rumbled for 73 yards on 18 attempts. He also caught a 14-yard pass.
Watson was Green Bay’s best skill player. He hauled in seven of his nine targets for 71 yards and two touchdowns. However, Watson suffered a hamstring injury in the fourth quarter that caused him to take a trip into the blue medical tent. If Watson hadn’t left early, there’s a chance he wouldn’t have been outgained by Doubs (4-72). They were the only Packer players with more than 43 receiving yards.
Bengals 34, Jaguars 31
Entering this game, the Jaguars probably believed the worst thing that could happen to them was a shocking loss that would set them back in the hunt for the No. 1 seed in the AFC playoff race. As they would discover, that was hardly the case.
Jacksonville suffered some injuries in this Monday night affair. Christian Kirk was quickly lost after he made a big play on the opening drive. Left tackle Walker Little got hurt after that. However, the most significant injury occurred in the fourth quarter when Trevor Lawrence was taken down in the backfield in field goal range. He tried to get up, but wasn’t able to do so, prompting him to slam his helmet on the ground in frustration. Lawrence was helped into the locker room without being able to put any weight on his injured leg.
It’s currently unknown how severe the injury is, but it did not look pretty. It goes without saying that the Jaguars don’t have any hope of having success in January if Lawrence isn’t available. It’s a shame for Lawrence, who had been playing extremely well of late. He was 22-of-29 for 258 yards, two passing touchdowns and a rushing score in this game.
Meanwhile, a star may have been born on the other side of the ball. Jake Browning was woeful in his first start against the Steelers, but he was so much better in his second start. It helped that he was battling an inept Jacksonville pass defense, but Browning was deadly accurate on most of his passes, throwing just five incompletions the entire evening. One of those misfires was a drop, so Browning was very close to completing 32 of his 36 pass attempts, which is just incredible.
Browning finished 32-of-37 for 354 yards and a touchdown. He also picked up 21 yards on a single scramble and scored a rushing touchdown on a sneak. He was calm and collected throughout the entire night, making only a couple of mistakes like taking a bad sack in field goal range on one occasion. If Browning continues to perform like this, the Bengals can’t be dismissed as a team that can win in the playoffs.
It helps that Browning has an amazing supporting cast. Ja’Marr Chase was phenomenal in this game. He caught 11 of his 12 targets for 149 yards and a touchdown. The one incompletion was a drop on third down, but he made up for it with a spectacular catch on the next play to set up a first-and-goal opportunity. Chase’s score was a 76-yard bomb that Browning threw on third down.
Elsewhere in the receiving corps, Tee Higgins (3-36) didn’t do much. Meanwhile, Tyler Boyd had an adventurous night. He caught five passes for 37 yards, but was involved on one of the worst offensive plays of the year. Browning threw the ball backward to Boyd, who then panicked and fired a ball into heavy traffic toward Joe Mixon. A Jacksonville defender stepped right in front of the horrible throw to set up an instant first-and-goal opportunity for Jacksonville, which was quickly turned into a touchdown.
Speaking of Mixon, the Cincinnati back had a big night. He rushed for 68 yards and two touchdowns on 19 carries. He was also second on the team in receiving with six catches for 49 receiving yards.
Curiously, Mixon’s counterpart wasn’t used very much. In fact, at one point during the night, I asked Twitter if Travis Etienne had been abducted by aliens. Despite battling a poor run defense, Etienne was given just 11 carries, which he turned into 45 yards and a touchdown. He also caught four passes for 34 receiving yards.
Three Jaguars had more receiving yards than Etienne. Evan Engram led the way with nine grabs for 82 yards and a rare touchdown. Zay Jones (5-78) was next, followed by rookie Parker Washington (6-61), who also scored. Calvin Ridley had a very disappointing night with four receptions for 26 yards. He made a deep reception in overtime where he landed at the Cincinnati 1-yard line, but the play was negated by a holding call.