The conclusion of Week 18 in the NFL means it’s time I reflect on my preseason predictions. Let’s just say I’m not feeling great at all about my Super Bowl pick (Packers over Chiefs), but at least the Packers and Texans, two teams I hyped up, are in the tournament. You never know.
But I seem to have continued my troubling pattern of being way off on my picks every other year. I was off by an average of 2.88 wins this season, my worst since I started tracking this in 2013.


In my defense, I bet a lot of people were thrown by some of the 10-win teams this season as the Vikings (14-3), Commanders (12-5), and Broncos (10-7) all blew away expectations with rookie quarterbacks and a career year from Sam Darnold. I picked the Commanders and Vikings specifically to finish 4-13, so that accounts for a lot of the disparities.
Then I was also done in by some of the most disappointing teams this season like the 49ers and Jets, who both blew a lot of leads in games they should have won this year. They blew 10 leads between them with the Jets (6) leading the league in that category with a way too dramatic season with Aaron Rodgers getting people fired.
It ended up being a top-heavy season with seven teams winning 12+ games, including four teams winning 14+ games. Helping to balance things, we had 10 teams lose 12+ games, so there were a lot of poor teams too. That’s probably going to lead to a real balancing act in 2025 where more teams should move closer to .500, so it’ll be important not to overreact to some of these records.
As for Week 18, the early slate produced some unexpected close games, the late slate was devoid of any real drama, and Sunday night was a bummer because of Sam Darnold’s awful game. In all, we had 9 games with a comeback opportunity.
For the last time this season, let’s run through a recap of all 32 teams in their final game of 2024.
This season in NFL Stat Oddity:
- Week 17
- Week 16
- Week 15
- Week 14
- Week 13
- Week 12
- Week 11
- Week 10
- Week 9
- Week 8
- Week 7
- Week 6
- Week 5
- Week 4
- Week 3
- Week 2
- Week 1
Vikings at Lions: The New Year’s Ghost
It took 18 weeks, 17 games, and the 272nd and final game of the regular season before the worst nightmare for Minnesota fans became reality. On the big stage with the No. 1 seed on the line, Sam Darnold was seeing ghosts and shitting his pants.
People are going to see a 31-9 final score and just chalk it up as a Detroit blowout, but this was Minnesota’s game for the taking well into the third quarter when it only trailed 10-9 despite so many missed opportunities. Red zone play was the main culprit as Darnold was just abysmal in that confined space, missing receivers left and right. The Lions challenged him with a good pass rush while playing man coverage, and he simply couldn’t beat it with so many balls overthrown and off the mark. Darnold finished 18-of-41 for 166 yards. No turnovers but failing three times on fourth down is just as bad, especially when multiple drives were inside the Detroit 3.
The Lions were already No. 1 in red zone EPA/pass allowed, and that number should only look better after this game. But what a shocker to see this game produce four touchdowns, and all four were scored by Jahmyr Gibbs for Detroit.
Matchups matter, and maybe the Vikings could come up with some better man-coverage beaters in a rematch should there be one. But I think this game changes a lot of the feelings about these teams going into the playoffs as the Lions may in fact have enough on defense to get the job done for the Super Bowl, and the Vikings might just end up going 14-4 with sweeps by the Lions and Rams (their next opponent).
I’ve been pro-Darnold this season and he’s been passing so many different tests. But given this was the biggest game of his career, I can’t say I’m confident about what he’ll do in the playoffs when the season truly is on the line. At least this was a trial run and he got a taste of the atmosphere, but that was brutal to watch all night.
Saints at Buccaneers: Baker’s Legs to the Rescue
One of the day’s most entertaining games was watching Tampa Bay struggle as a two-touchdown home favorite against Spencer Rattler and the Saints with a division title on the line. I always say division games are scary. But despite being an offensive juggernaut in many games this year, the Bucs were down 16-6 at halftime and 19-13 going into the fourth quarter.
But Baker Mayfield’s legs made up for a slow start to his passing. He ran 9 times for 68 yards in this game, including some huge plays in the fourth quarter to lead a comeback. He also got things going with Jalen McMillan, who had a huge catch on fourth down and a touchdown on a drive where he was wrongfully penalized for a finger-pointing celebration that had nothing to do with gun violence. Then Mike Evans started making plays as he needed 85 yards in the game to reach 1,000 yards for the 11th year in a row.
Meanwhile, the Saints added to their misery of not being able to make a single fourth-quarter comeback win for the second season in a row. They were 0-7 this year with four blown leads, and this was just another.
But Baker’s improv on a lateral to Bucky Irving for an 11-yard touchdown gave the Bucs a 27-19 lead with 1:51 left. The Saints turned it over on downs with 36 seconds left. The game was effectively over, but Evans needed 5 more yards to get his 1,000, which would trigger a $3M bonus. It was risky, but they threw a pass to him, and the Saints didn’t seem to mind letting him make the play as he picked up 9 yards and the whole team celebrated as the game was over, the bonus was his, and the NFC South belongs to Tampa Bay.
They would have won it anyway after Atlanta lost in overtime in Carolina, but this was a grind against a really bad New Orleans team that’s missing so many key players. We’ll see how the Bucs fare in a Week 1 rematch with the Commanders, but that might be a better matchup for them than the Vikings.
Bengals at Steelers: Close But No Cigar
Well, I guess the Bengals won the closest thing they’ll have to a playoff game this year as they came through in Pittsburgh in a 19-17 slugfest to reach 9-8. But they didn’t get the help they needed from the Chiefs-Broncos game on Sunday, so they are out. That’s also what happens when you lose 16-10 at home to the Patriots, one of the worst teams in football, in Week 1. September matters too and the Bengals dug too big of a hole to get out of.
But as for the team that is in the playoffs from this game, just what the hell are the Steelers doing to end this season? They’ve lost four games in a row and are playing terrible offense. Even though the start of this game looked like the defense was going to be a disaster, they calmed down and kept the Bengals out of the end zone all night after giving up that opening-drive touchdown. The special teams had a big mistake with a fumble, but they made up for it by recovering a fumble later.
This was on Arthur Smith’s offense. All the nice things I said when they lit up the Bengals in Cincinnati earlier this season, throw them out the window like they never happened. The Steelers sure seemed to forget they did.
Russell Wilson had 414 yards in that first game, taking advantage of YAC and passes to his running backs over the middle. That didn’t exist in this game. Jaylen Warren had 0 catches. Calvin Austin, someone who can catch some quick hitters, had 0 catches. George Pickens caught an early screen that was terrible, then didn’t catch his last five targets, including several awful drops in maybe the worst game I’ve ever seen a Pittsburgh wideout play. He finished with 0 yards and I’d put his chances of a second contract in Pittsburgh at 0.0001%.
For most of the half, Wilson had two completions: the ill-fated screen to Pickens and a brilliant 25-yard catch by Mike Williams. But guess what? Williams never received another target the rest of the game. How the fvck does this happen?
Then even when they had a chance to go get a game-winning field goal, Wilson, a veteran who has done this dozens of times, completely botched the last drive with horrible clock management. I can’t crucify him for the whole game because of the drops by Pickens and then the fourth-and-ballgame drop by Pat Freiermuth, but Wilson was terrible for most of the game. Get rid of the ball faster instead of being a pin cushion for Trey Hendrickson (3.5 sacks).
It’s just such a frustrating offense to watch, because there’s no reason they can’t be better than this. The coaching incompetence is high, and once again, Mike Tomlin has no answers for a losing streak.
They probably embrace going to Baltimore because of past success and playing an ugly, low-scoring game. But they did just lose 34-17 there, so this might be a rude awakening and a 5-game losing streak to end the season.
Chiefs at Broncos: That’s Going to Leave a Mark on the Stats
Well, I guess the Chiefs aren’t very good when they rest their ~13 best players for the playoffs and they’re facing a team that’s playing for their season that already should have beat the KC starters in Arrowhead earlier this year.
But god damn, 38-0? Making Bo Nix look like a mobile Drew Brees. The Broncos outgained them 479-98. You have to go back to the 2000 Browns against the Jaguars to find the last NFL team to get outgained by at least 380 yards while being held under 100 yards.
The Chiefs aren’t going to care about this performance, but it does create an interesting dynamic. What if this spurs the Broncos to go beat Buffalo in this week’s 7-2 matchup, which would send the Broncos right back to Arrowhead after the Chiefs haven’t played their starters for 24-25 days? Getting rid of Buffalo would be ideal, but let’s not act like Denver hasn’t played the Chiefs well even going back to last year. The Chiefs just don’t score much on them and they have multiple DPOY candidates.
Maybe the Broncos flop in Buffalo and it’s a moot point, but they won there last year by forcing the Bills into so many turnovers that they fired their offensive coordinator. The Bills are due for some turnovers too.
Interesting AFC race all around this year. I still think a Bengals-Bills game would have been must-see TV and the most interesting 7-2 game you could have, but we’ll see if Denver can turn this opportunity into something.
Bears at Packers: Not Feeling Good About Green Bay Anymore
If I’m just being honest, the Packers, my preseason Super Bowl pick, haven’t done much to impress me this season. Had it not been for a blocked field goal in Chicago, they would have finished 0-6 in division games. They already lost in Brazil to the Eagles, their playoff opponent. They beat up on a paper tiger like the Dolphins on Thanksgiving and smoked the 49ers without Brock Purdy. They beat the Rams before they were good this year.
What’s their best win? A 24-22 squeaker over the Texans? Maybe they’ll surprise us in the playoffs, but I’m not sure Sunday could have gone much worse as Matt LaFleur suffered his first loss to the Bears, which ended their 10-game losing streak overall and their 11-game losing streak to the Packers by making a field goal at the end. Had the Packers just picked up 2 more yards to get a fresh set of downs, they could have won the game themselves on a walk-off field goal. But they left Caleb Williams time, and after dinking and dunking to little success all day, he came through and his kicker had his back this time.
Jordan Love injured his elbow and his status is unknown. Christian Watson left injured, but what else is new there? I just don’t feel good at all about Green Bay repeating last year’s playoff success as the No. 7 seed. This team won more games (11-6), but what’s impressive? At least they won in Detroit last year and beat the Chiefs.
Commanders at Cowboys: Mariota to the Rescue
While the Packers were losing to the Bears, the Commanders were on the ropes against the Cowboys once again. I’m not sure what Jayden Daniels was trying to accomplish in this game, but after taking several sacks, they sent him to the bench at halftime for veteran Marcus Mariota.
But they continued playing their other starters as Terry McLaurin came up clutch on the game-winning drive. He had four catches on the drive, including the game-winning touchdown from 5 yards out with just 0:03 left. That’s how the Commanders were able to get to 12 wins with a 23-19 victory over a Dallas team that got a monster game out of Micah Parsons (2.5 sacks) and a rare look at Trey Lance, who I still say should have been starting over Cooper Rush after Dak Prescott was lost.
So concludes a very disappointing Dallas season at 7-10. But I will say that Jerry Jones is surprisingly gifted as an actor after seeing him in Landman this weekend.
Panthers at Falcons: Bryce Young Finishes Strong
The Panthers (5-12) could be a trendy pick for the NFC South or wild card next year after a respectable finish for Bryce Young given where his season began. Sunday was arguably his best game ever as he accounted for 5 total touchdowns, including the walk-off winner in overtime in a 44-38 game.
But we have all offseason to talk about whether we can trust that finish or see what pieces the Panthers add to this roster. The more troubling issue is the way Atlanta (8-9) faltered down the stretch, and the way the defense has disappointed rookie quarterback Michael Penix Jr., who led a couple of game-tying touchdown drives but never got the ball in overtime losses to Washington and Carolina.
The Falcons just gave up 44 points in his third start. As you might imagine, Tom Brady went 381 starts in the NFL without his team ever allowing more than 42 points. I like to bring that up only because it puts Brady’s incredible team help in context, but also because most of those games were under Bill Belichick, the coach the Falcons spurred in hiring in favor of Morris this year.
Still liking that move, Mr. Blank?
Seahawks at Rams: Geno’s Money Drive
Not much was on the line for the Seahawks, but Geno Smith had $6 million in incentives to hit, and he pulled off the trifecta for them. The key was getting the 10th win of the season for Seattle, the first 10-win team to miss the playoffs in the 7-team format. But it took a 4QC/GWD for Geno, the richest one of his career as he fought through the pain to throw his fourth touchdown pass to put the Seahawks up late.
Jimmy Garoppolo tried to answer after playing a solid game with the Rams’ backups, but his 4th-and-ballgame pass skipped in there short in a 30-25 loss. I’m a little surprised the Rams didn’t try to win for the No. 3 seed, but I guess they see little difference in No. 4 and No. 3, and they already beat the Vikings this year, their opponent next week.
But a good day for Geno that almost makes up for blowing the first Rams game that cost them the division title in the end.
Chargers at Raiders: Now the Real Fun Begins
Is Week 18 even real football when Quentin Johnston is catching 13-of-14 targets for 186 yards? But look out if he’s playing like that with Justin Herbert having his best defense, his best offensive line, and a real coach going into the playoffs with some momentum and a quality matchup in Houston next week.
This team is Kansas City’s worst nightmare in the divisional round. A gamer like Herbert who already tested them in Arrowhead without Ladd McConkey and J.K. Dobbins, and a pass rush that was after Mahomes all night and held the Chiefs under 20 points in both games. I could easily see NFL Films recording a “Who’s got it better than us?” chant from Harbaugh in a victorious locker room in two weeks to end the three-peat.
But first thing’s first. The Chargers need to deliver in Houston against that pass rush next week. Herbert has to get that first playoff win under his belt.
As for the Raiders, I’d fire the coach and do whatever I can to find some new quarterbacks for 2025.
Dolphins at Jets: Is That It for Aaron Rodgers?
I’m not surprised at all that Aaron Rodgers lit up the Dolphins for four touchdowns in what will probably be his last game for the Jets. Paper tiger defense with a backup quarterback starting in place of Tua Tagovailoa. It was never going to end well for Miami this year, and now Tyreek Hill seems to be on the way out – the Jimmy Butler path?
But Rodgers and the Jets (5-12) were the biggest disappointment in the league this year. If you told someone he’d get a trade for Davante Adams and finished with the stat line he had, you’d think the Jets were 10-7 or 11-6. But they blew a league-high six leads in the fourth quarter and firing Robert Saleh was premature.
Bills at Patriots: New England Wins, New England Loses, New England Fires Coach
The Bills definitely did the right thing by losing this one to make sure the Patriots didn’t have control of the No. 1 pick in the 2025 draft. Don’t need them getting Travis Hunter, but that’s still a possibility if the other teams force quarterback picks at the top.
But the team’s 4th win of the season was no happy ending for owner Robert Kraft, who waited almost no time before firing coach Jerod Mayo. I think that’s the right call since he never should have been hired in the first place and didn’t show any value for the job this year. But the timing was still a bit harsh. Mike Vrabel coming next?
Shout out to Joe Milton though. I don’t care who was on the field for either team. He made some spectacular plays and should get some longer looks in the NFL even if it has to be with another team down the road.
Giants at Eagles: Tanner McKee the New Kevin Kolb or Matt Flynn?
With the way teams are so quarterback starved, Tanner McKee could be making himself some money with these performances late in the year for the Eagles. He’s thrown 4 touchdown passes in basically 6 quarters, and they asked him to throw 41 passes in a wire-to-wire win against the Giants with the Eagles resting their good players – just like the Chiefs did but with far better results against a weaker opponent.
But even with backups, the Eagles had enough on both sides of the ball to get past the Giants, who will finish 3-14 with a ton of question marks.
Hell, maybe they can trade a third-round pick for McKee…
Jaguars at Colts: Overtime? In This Economy?
I guess no one told the Jaguars (4-13) and Colts (8-9) their game didn’t mean anything, because these motherfvckers went to overtime in Week 18. It ended the way you should expect with Joe Flacco leading his 30th game-winning drive with a field goal, and Mac Jones being unable to answer it because of a sack and a 20-yard completion on 4th-and-22.
We’ll see if both coaches are back next year, but I think it’s pretty unlikely, especially in Jacksonville.
Texans at Titans: Will Levis Era Over?
Is it over for Will Levis in Tennessee, which finished 3-14 and secured the No. 1 pick? If so, it was a fitting end in a 23-14 loss in Houston where he was involved in some wild turnover and touchdown plays.
And it seems to me you lived your life
Like a candle in the wind
Never knowing who to throw to
When the blitz came in
And I wish they didn’t draft you
With that high of a pick
Your mayo ran out long before
At least your dick is big
Goodnight, sweet prince.
49ers at Cardinals: When San Francisco Goes Low…
San Francisco’s last 22 seasons since 2003 only include 15 non-winning seasons and 7 trips to at least the NFC Championship Game. There’s no middle ground with this team, which fell to last place in the NFC West with a 6-11 record. The injuries will be blamed for this one, and that’s fair to a degree, but let’s not act like blowing all those fourth-quarter leads in the division didn’t ultimately screw them.
Meanwhile, the Cardinals (8-9) completed the sweep here by running up the score to 47 points, but where was this offense in all those weeks where they couldn’t break 14 or 17 points? Too inconsistent for me.
Browns at Ravens: The Biggest Spread of the Season
For a while there, it didn’t look like the Ravens were going to cover the 20-point spread, the largest this season. They were only up 21-10 in the fourth quarter after dropping a ton of passes, Zay Flowers left early with a knee injury, and the Ravens looked a little bored defensively and frustrated offensively. But Derrick Henry finally got rolling after a poor start, and before you knew it, the Ravens were up 35-10 to put this one away and win the AFC North.
Did Lamar Jackson do enough for his third MVP? I think he already did before the game started. It wasn’t the masterpiece ending for his case, but he didn’t do much wrong in this one. Will voters just go with the pity vote for Josh Allen like the sportsbooks seem to think given the odds? We’ll see. But Jackson just had arguably the greatest dual-threat season ever, and we’ll see if he can turn it into his best playoff run.
Next week: The playoffs. That means the annual Houston playoff game on a Saturday afternoon to kick things off. Then we’ll see if Pittsburgh’s historically underperforming playoff defense will show up again, or if Baltimore’s historically underperforming playoff offense will neutralize it in one of the closest games this weekend. I’m not that sold Denver will give Buffalo a good game, but maybe the Chiefs gave them some confidence in what they’re doing. Packers-Eagles will be played on a better field than Brazil this time. Commanders-Bucs, the last time these teams met in the playoffs in Tampa (January 2006), my furnace was broke, so hopefully that’s not a repeat event this weekend. Vikings-Rams is a perfect matchup to end the week, the rematch of the missed facemask penalty.