The Sunday of Week 12 of the NFL season is in the books. Here’s how each team graded out.

Week 12 was wonderfully chaotic, full of wild finishes and big performances. Here is how all 22 teams that played on Sunday graded out.
These grades don’t just take into account how a team played and the final score. It factors in things like expectations, short and long-term goals of the franchise, injuries, and other factors. It’s a long season, and the grade is about more than just who won and who lost. The big picture has to be kept in mind.
Minnesota Vikings: B+

30-27 (W) Vs. Bears
The Vikings tried to hand the Bears the game in the final minutes, only to find a way to win. The good news is that Sam Darnold played a good game on a day that saw the Vikings take away Justin Jefferson. The bad news is that they let a mediocre Bears offense have a big day. The defense is going in the wrong direction. But, it’s still a big divisional road win, and at 9-2, the playoffs are a near lock.
Chicago Bears: C

30-27 (L) Vs. Vikings
The Bears continue to find ways to lose games, and had yet another kick blocked. But, there were a few positives. First, this team clearly isn’t quitting in the midst of this five-game losing streak. Second, Caleb Williams continues to excel after the firing of Shane Waldron. Ultimately, that’s what’s most important.
Detroit Lions: A

24-6 (W) @ Colts
Once again, the Lions dominated on both sides of the ball. They continue to physically overwhelm teams up front. There’s really nothing negative to report here.
Indianapolis Colts (D)

24-6 (L) Vs. Lions
Not only were the Colts dominated, but Anthony Richardson regressed after a strong return from the bench. 11/28 is just not good enough, no matter how explosive he is in the run game. At 5-7, the playoff window is shrinking.
New England Patriots: D

34-15 (L) @ Dolphins
The Patriots were dominated, trailing 31-0 at one point. Drake Maye looked okay, but he was under constant pressure all day. And, the defense was dominated. At least it will help them in terms of draft order.
Miami Dolphins: A+

34-15 (W) Vs. Patriots
Yes, it’s a cupcake opponent. But, the Dolphins are starting to play really good footbal. Tua Tagovailoa continues to shine, Devon Achane is an elite weapon, and Jaylen Waddle finally broke out. Plus, the defense is starting to improve. Rookie first-rounder Chop Robinson was absolutely dominant. The playoffs are still a possibility given the way they’re playing and a gettable schedule the rest of the way.
Tampa Bay Buccaneers: A+

30-7 (W) @ Giants
The Giants are, indeed, terrible. But, the Buccaneers needed a win and they ot one in dominant fashion. Baker Mayfield continues to excel, and Mike Evans returned from injury and played well. They were dominant on defense, too, tallying four sacks. They’re now just one game back in the division, though the Falcons do own the tiebreaker. They definitely have a run in them.
New York Giants: F

30-7 (L) Vs. Buccaneers
Normally, I don’t like to give F grades to teams who are jockeying for draft position. But, when your star rookie receiver already sounds like he hates being a Giant, when your players call the team soft, and when the superstar you let walk, Saquon Barkley, has a 300-yard game for your rival, that’s an F. The Giants were booed off the field, and they deserve it.
Dallas Cowboys: B+

34-26 (W) @ Commanders
The Cowboys seemed lifeless during their losing streak. Credit to them, they played a solid game in all facets against the Commanders. Things did get weird at the end of the game, but they got the win. That will hurt their draft position, but this team needed some positive momentum just to keep things from getting even more embarrassing.
Washington Commanders: D-

34-26 (L) Vs. Cowboys
There’s simply no excuse for losing to this Cowboys team. Now, a two-game slide is a bona fide three-game losing streak. The only real positive is that they continued to play hard and should’ve tied the game, only for kicker Austin Seibert to choke. The bad news is that they were in that situation in the first place. We’re getting close to a crisis for the Commanders.
Kansas City Chiefs: B-

30-27 (W) @ Panthers
Yes, they won, and they’re 10-1. And, yes, the passing game did take some steps forward. But, if this team can’t blow out the overmatched Panthers, who can they blow out? It’s hard to win three or four nail-biters in a row in the playoffs. Granted, they’ve done it before, but the Chiefs need to start figuring it out.
Carolina Panthers: A

30-27 (L) Vs. Chiefs
An A grade for losing? Yes, and it’s well-deserved. The Panthers had a two-game winning streak prior to the bye. People wanted to know whether this team and Bryce Young had truly improved. The answer is a resounding yes. Bryce Young continues to shine, the team is improving in all facets, and for the first time in a long time, the Panthers have direction.
Tennessee Titans: A

32-27 (W) @ Texans
The Titans have been playing a bit better than their 2-8 record suggested coming into Week 12. It finally paid off with a huge win. Will Levis is making strides, the defense competes and is a pretty solid unit, and they made the winning plays in the fourth quarter that had eluded them. It will hurt draft position, but it’s great to see some tangible progress.
Houston Texans: F

32-27 (L) Vs. Titans
Something hasn’t been quite right with this team for weeks now and it all came to a head on Sunday. CJ Stroud continues to struggle, they can’t run the football, and the offense looks out of sync. Defensively, Will Anderson continues to play at an All-Pro level. But, the secondary gave up big play after big play. The division is bad so it likely won’t matter, but this was a terrible loss.
Denver Broncos: B+

29-19 (W) @ Raiders
The Broncos did start slow in this game, hence the points off. But, overall, it was another solid showing for a team that inches closer and closer to the playoffs. Bo Nix is making a real case to be the NFL Offensive Rookie of the Year. He continued to play well on Sunday.
Las Vegas Raiders: D

29-19 (L) Vs. Broncos
The Raiders continue to play hard. That’s about the only positive on-field thing you can say. With Gardner Minshew now out for the year, they have a very good chance at the first-overall pick.
San Francisco 49ers: F

38-10 (L) @ Packers
Kyle Shanahan said it best. The 49ers were completely embarrassed on Sunday. Yes, Brock Purdy was out. But, numerous times in the game I thought to myself “this looks like a team that’s quitting.” The lack of run game on offense and inability to stop the run on defense are two telltale signs of a team who, after near-misses for a Super Bowl the last few years and some tough breaks against them, may not have much fight left in them.
Green Bay Packers: A

38-10 (W) Vs. 49ers
I can’t give an A+ due to the fact they got to play against Brandon Allen. But, the Packers physically dominated the 49ers. And, Jordan Love played turnover-free football, even if a pass or two probably should have been picked off. 169 rushing yards really set the tone for this one, as did shutting down Christian McCaffrey. All in all, a great perormance.
Arizona Cardinals: D-

16-6 (L) @ Seahawks
There’s not much to say other than this was a complete clunker for the Arizona Cardinals. They had a chance to take control of the NFC West, and laid a total egg. The offensive never got in gear, and Kyler Murray wasn’t quite as sharp as he had been. But, most of the issues on offense were up front. All things considered, the defense played fine, but this was a missed opportunity.
Seattle Seahawks: A

16-6 (W) Vs. Cardinals
The Seattle Seahawks have been up-and-down this year, but this was a big-time win. The defense stole the show, making life tough for Kyler Murray all day and giving up nothing in the run game. They even survived the seemingly weekly backbreaking Geno Smith interception. Now, they’re in first place in the NFC West. A lot of football left to be played, but it was a great win.
Philadelphia Eagles: A-

37-20 (W) @ Rams
On the field, the game was a rousing success for the Eagles. Saquon Barkley is showing week after week that he may be the very best player in all of football. He went over 300 scrimmage yards, running for a whopping 255 yards. They dominated on both lines, as well. So, why only an A-? Longtime star Brandon Graham tore his tricep, and will miss the rest of the season, possibly ending his career. He’d been playing a really high level this year, and they were already thin at defensive end.
Los Angeles Rams: D-

37-20 (L) Vs. Eagles
The Rams were dominated on both lines of scrimmage, as Saquon Barkley had his way with the Los Angeles defense. More concerning was the play of the offensive line, which was totally overwhelmed up front by the Eagles. The NFC West is still winnable, but this was not a good showing in front of a national TV audience. Puka Nacua remains unguardable, though.