christian-mccaffrey.jpg
Getty Images

Welcome to the Week 12 grades!

After a wild Sunday of action that gave us three different overtime games, things weren't quite as dramatic Monday night with the San Francisco 49ers taking care of business in a 20-9 win over the Carolina Panthers. Actually, there was some drama, but most of it came during a first half during which Brock Purdy threw three interceptions

With a win, the Panthers would have taken over sole possession of first place in the NFC South this late in the season for the first time since 2015, but they weren't able to pull off the upset. Instead, Carolina (6-6) is now a half game behind the Buccaneers. As for the 49ers (8-4), the win allowed them to hold on to the third and final wild card spot in the NFC as the NFL season gets ready to head into Week 13. 

With that in mind, let's check out the grades for every team that played this week, starting with the 49ers' win over Carolina.

San Francisco 20-9 over Carolina

C
If the Panthers want any chance of winning the NFC South, their offense is going to have to play better than it did Monday night. The Panthers defense came up with three interceptions, including two by Jaycee Horn, but the offense only got a total of three points off those turnovers. After throwing for a career-high 448 yards last week, Bryce Young had a rocky first half, throwing for just 28 yards. He also ended up throwing two picks in the game. With Young struggling, the Panthers had a tough time converting on third down (1 of 7), and it didn't help that their rushing attack was nonexistent. Despite the loss, the Panthers are only a half game behind the Bucs in the NFC South. With two games still coming against Tampa Bay, it's still possible for Carolina to steal the division.  
B
In just his second game back after missing six weeks of action, Brock Purdy looked like he was still working off the rust. The 49ers QB threw three interceptions in the first half, but those were about the only three mistakes the entire team made. The 49ers showed why they're such a strong playoff contender: They have a reliable defense and one of the most electric players in the NFL in Christian McCaffrey. In his first game ever against his old team, McCaffrey went off with 142 total yards and a touchdown on 31 touches. From a defensive standpoint, Robert Saleh's unit bailed out Purdy after all three interceptions. The 49ers also got a nice boost from Ji'Ayir Brown, who came up with two interceptions on Bryce Young. At 8-4, the 49ers suddenly have to feel pretty good about where they stand in the NFC wild card race. 

Kansas City 23-20 (OT) over Indianapolis

B
The Colts had Kansas City on the ropes, but they couldn't deliver a knockout punch. After moving up and down the field for three straight quarters, the Colts' offense disappeared in the fourth quarter and overtime, totaling just 18 yards in the two periods. The Colts certainly had some questionable play calling in the fourth quarter. With Indy leading 20-9, it would have made sense to give the ball to Jonathan Taylor, but he only got ONE carry during a fourth quarter where Daniel Jones threw the ball eight times. Of those eight passes, six of them fell incomplete, which stopped the clock six times. Shane Steichen has been on fire with his play calling for most of the year, but he certainly made some head-scratching decisions in the final quarter. The Colts (8-3) are still in a good spot, but with the third most difficult remaining strength of schedule, they don't necessarily feel like a lock to win the AFC South anymore. 
A-
The Chiefs essentially needed this win to save their season and they got the victory by taking over in the second half. With the Chiefs trailing 20-9 in the fourth quarter, the defense took over by surrendering just 11 yards in the final quarter to allow Patrick Mahomes and the offense to get back in the game. Mahomes responded by totaling 145 yards in the fourth quarter that allowed the Chiefs to tie the game (He threw for 352 in the game). The Chiefs haven't been clutch at all this year, but that changed on Sunday and it came against one of the best teams in the NFL. For the first time all season, they won a one-score game, and knowing the Chiefs (6-5), this could be the win that sends them on a run deep into January and possibly even February. 

L.A. Rams 34-7 over Tampa Bay

D-
This was a nightmare game for the Bucs. Not only did they get destroyed, but they lost Baker Mayfield to a shoulder injury that knocked him out of the game for the entire second half. Even when Mayfield was still playing, though, the Bucs looked overmatched: In their six possessions with their starting QB, they only had one drive that went for more than 30 yards. Mayfield also threw a pick six that epitomized the night for Tampa: Cade Otton caught the ball, but then a more physical Cobie Durant just ripped it out of of his hands and returned it for a touchdown. The Bucs simply got dominated by a better team. The loss means that the Bucs are now 6-5 and if Mayfield has to miss any time, there's a real chance that Tampa's four-year reign atop the NFC South could come to an end. 
A
The Rams are an unstoppable force and they showed a national audience on Sunday night why they've suddenly become so unbeatable. That starts with Matthew Stafford, who is playing at an MVP level. Stafford was on fire against the Bucs, throwing for 210 yards and three touchdowns in the first half before the Rams took their foot off the gas. Stafford has two of the best receivers in the NFL in Puka Nacua and Davante Adams and he knows how to use them (The tandem combined for 12 catches for 159 yards and two touchdowns against the Bucs). The offense is so good that it sometimes overshadows how good the defense is, and in this game, they were nearly perfect. Through 12 weeks, the Rams (9-2) look like the best team in the NFL. 

Cleveland 24-10 over Las Vegas 

A
Shedeur Sanders officially did the impossible: He won his first start. This marks the first time in 30 years that a Browns QB has won his first start with the team and Myles Garrett was the one who made sure it happened. The Browns' star pass rusher absolutely terrorized Geno Smith by racking up three of Cleveland's 10 sacks. The Browns defense has been dominant all season, but this was its masterpiece. As for Sanders, it's hard to say if he's the QB of the future in Cleveland, but he did play smart football after an early interception. He clinched the game in the fourth quarter by throwing a 66-yard TD on a short pass to Dylan Sampson that essentially iced the game. This defense is good enough to keep the Browns (3-8) in most games and if they get competent play from their offense, they can dominate teams like they did against the Raiders.   
D
This was one of those losses that makes you think the Raiders should probably just blow things up and start over at the end of the season. Geno Smith was bad, the offensive line was bad, Ashton Jeanty had no room to run and the Raiders (2-9) couldn't even rely on their normally reliable special teams. The Raiders defense played well, but got beat by too many big plays (The Browns put up 270 yards with 183 of that coming on just four plays). Chip Kelly and Pete Carroll both seem like they're in over their head in what has become a lost season (And the Raiders seem to agree that Kelly is in over his head because he was fired on Sunday night). 

Dallas 24-21 over Philadelphia

B-
This was an all-time meltdown by an Eagles team that blew a 21-0 lead. The lead disappeared because the Eagles couldn't get anything going in the second half. The Philly offense had the ball six times in the second half and those possessions ended with four punts, a lost fumble and a missed field goal. They also muffed a punt that ended up being recovered by the Cowboys. There probably won't be any A.J. Brown drama for the Eagles this week after he topped 100 yards for just the second time since Week 4, but nothing else was working for Philly. The Eagles struggled to move the ball against a Cowboys defense that was one of the worst in the NFL heading into Week 12, which could be a sign of bigger problems for Philly (8-3). This is definitely a playoff team, but if the Eagles don't get their offense on track, their playoff run might not last long. 
B+
This was a miracle win for a team that almost gave the game away with two turnovers, a punt and a fourth-down failure on their first four possessions. By the time the Cowboys realized there was a game going on, they were already trailing 21-0. After a rocky first half, though, the Cowboys absolutely took over in the second. On offense, that started with George Pickens, who totaled 146 yards receiving, including 67 in the fourth quarter. Dak Prescott bounced back from an early interception to throw for 354 yards and two touchdowns. The defense, which has struggled for most of the season, shut down Saquon Barkley, holding him to just 22 yards. Since adding Quinnen Williams at the trade deadline, the defense has surrendered just 90 yards rushing in two games. The Cowboys (5-5-1) are certainly a long shot to make the playoffs, but this team is playing its best football of the season and with a suddenly transformed defense, Dallas certainly feels like a dark horse to reach the postseason. 

Jacksonville 27-24 (OT) over Arizona

B-
The Jaguars (7-4) showed some serious resilience by winning a game that it looked like they were going to choke away. Trevor Lawrence turned the ball over four times, including three interceptions in the second half, but the Jags defense saved things by making several key stops. Devin Lloyd and Dennis Gardeck had Jacoby Brissett running for his life on a day where the Jags racked up six sacks. It was a surprising performance from a team that had the second-fewest sacks in the NFL (15) heading into Week 12. Offensively, Jakobi Meyers, who was in just his third game with the team, has quickly become one of Lawrence's favorite targets. Meyers (50 yards receiving), Parker Washington (71) and Brenton Strange (93) all topped 50 yards receiving. With the win, the Jags now have a very real shot at winning the AFC South, but Lawrence is going to have to stop turning the ball over if that's actually going to happen. 
C+
This game summed up the Cardinals' season: They were in a prime position to win, but they couldn't get the job done. For the sixth time this year, the Cards lost a game by four points or less. There was plenty of good, but it was the bad that did them in. In the third quarter, they picked off Trevor Lawrence twice, but they went three and out both times and weren't able to capitalize. In the fourth quarter, Jacoby Brissett had a chance to spike the ball at the end of the game that would have given Arizona multiple shots at a possible TD to win the game in regulation, but the spike never came. In overtime, Brissett threw a deep pass into double coverage on fourth-and-4. There were just too many small mistakes and those all added up to another loss for Arizona (3-8). 

Atlanta 24-10 over New Orleans

B+
After giving up 24 points or more in four straight games, the Falcons defense finally clamped down. Rookie pass rusher James Pearce Jr. had the biggest game of his young career with 1.5 of Atlanta's five sacks. The defense forced two turnovers, but it was a goal line stand in the third quarter that seemed to put the Falcons in control for good. On the offensive side of the ball, it was the Bijan Robinson show: The Falcons running back had 107 total yards and a touchdown on 16 touches. Kirk Cousins looked rusty at times -- he threw a pick six in the second quarter -- but he also torched the Saints any time they blitzed and he also threw a perfect strike on a game-sealing 49-yard TD to Darnell Mooney in the fourth quarter. This was a win the Falcons (4-7) desperately needed after losing five straight games. 
D+
Bad teams make bad mistakes and that's what happened to the Saints here. New Orleans couldn't get out of its own way. The mistakes started early with a lost fumble and a missed field goal in the first quarter. Blake Grupe actually missed two field goals, but the true backbreaker for the Saints was the fact that they came away with zero points after driving down to Atlanta's 1-yard line in the third quarter. The Saints' red zone offense was a disaster with New Orleans coming away with zero touchdowns on three trips inside of Atlanta's 20-yard line. Justin Reid scored the only TD of the day for New Orleans (2-9) on a pick six. If your offense can't punch the ball in the end zone, you're usually not going to win in the NFL and the Saints offense just couldn't get the job done. 

Chicago 31-28 over Pittsburgh

C
With Aaron Rodgers out due to an injury, the Steelers put this game in the hands of Mason Rudolph, who then handed the game to the Bears. Rudolph turned the ball over twice -- with one in each half -- and the Bears turned those mistakes into 14 points. The Steelers had the ball twice in the fourth quarter with a chance to tie the game or take the lead, but they came up empty both times. They offense also got stopped cold on two different fourth down conversions. Whenever the Steelers needed a clutch play from their offense, they didn't get it. The Steelers (6-5) just don't have any offensive firepower and it feels like that's going to end up costing them a chance of winning the division.  
B-
They weren't quite the 1985 Bears, but Chicago's defense put this team in a position to win. Not only did they force two turnovers, but they also made two huge fourth down stops. Offensively, Caleb Williams had an inexcusable fumble that led to a Steelers touchdown, but he made up for that by throwing three TD passes. Ben Johnson was probably thrilled to see Williams complete at least one pass to eight different receivers, which kept the Steelers guessing. They never knew where the ball was going to go. Williams wasn't anywhere close to perfect, but he got the job done and that's been the story of Chicago's season so far. The Bears (8-3) don't always look great, but they're coming away with wins, and that's all that matters. 

New England 26-20 over Cincinnati

B-
The Patriots offense looked a little sloppy at the start this game: On their first three possessions, they totaled just 27 yards and Drake Maye threw a pick-six. But after the opening quarter, New England took control of the game. Marcus Jones got a pick-six for the Patriots in the second quarter on what was an impressive day for their defense. As for Maye, he rebounded from his bad interception by throwing for 282 yards and a TD over the final three quarters. Hunter Henry had his way with the Bengals defense, catching seven passes for 115 yards and a touchdown. It would have been easy for the Patriots to overlook the Bengals here, but they went on the road and got the win, and if you combine that with Buffalo's loss, New England (10-2) just took one giant step closer toward winning the AFC East. 
B-
The Bengals can't blame this loss on their defense. Although the unit has struggled all year, it came up with some big plays, including a pick-six from Geno Stone in the first half and a goal line stand in the second half. The defense put the team in a position to win, but Joe Flacco and the offense couldn't take advantage of it. With no Ja'Marr Chase, Flacco struggled to move the ball and he didn't help things by throwing a pick-six in the first half. The Bengals had a chance to save their season with Joe Burrow likely coming back on Thanksgiving against the Ravens, but instead, a lot of people are going to be wondering whether Burrow should even bother to come back for a team that's 3-8. 

Green Bay 23-6 over Minnesota

D
The Vikings took a gamble on J.J. McCarthy as their starting QB this year, and so far, that gamble has been a spectacular failure. The Vikings only trailed 10-6 at the half, but their offense absolutely disappeared in the second half, which was fitting, because the disappearance of the offense has been the story of the season for Minnesota. The Vikings only totaled FOUR YARDS over the final two quarters and McCarthy threw two interceptions in the fourth quarter to kill any shot of a Vikings comeback. The Vikings offensive line got run over by a Packers defense that sacked McCarthy five times. At 4-7, this officially feels like a lost season for Minnesota. 
A-
The Packers defense has suddenly turned into one of the most dominant units in the league and they showed the Vikings just how dominant they can be in this game. Micah Parsons totaled two of Green Bay's five sacks as the Packers pass-rush bullied the Vikings' offensive line. Offensively, Emanuel Wilson thrived while filling in for Josh Jacobs, rushing for 107 yards and two touchdowns. It was a good thing Wilson ran the ball so well, because the Packers passing game wasn't exactly explosive, finishing with under 200 yards for the third straight game. The Packers defense is for real and if Jordan Love can get the passing game going, it won't be surprising if the Packers (7-3-1) end up winning the NFC North. 

Detroit 34-27 (OT) over N.Y. Giants

B-
With the Giants looking to pull off an upset, Jahmyr Gibbs put the Lions on his back and carried them to victory, Gibbs totaled 264 yards and three touchdowns, including a 69-yard TD run in overtime that sealed the win. Gibbs came through in the clutch, rushing for 122 yards in the fourth quarter and overtime combined. Although the offense was good, the Lions couldn't put the game away because their defense couldn't stop Jameis Winston and a Giants offensive attack that piled up more than 500 yards. Last year, the Lions' undoing ended up being the fact that their defense couldn't stop anyone down the stretch, and if they don't fix things soon, they could end up with the same fate this year. 
B
The Giants got the full Jameis Winston experience in this game and it was a wild one. Not only did Winston throw for 336 yards and two touchdowns, but he also had his first career receiving touchdown. Although Winston was good, the Giants didn't win because they couldn't stop a Lions rushing attack that totaled 237 yards. The Giants defense especially struggled coming out of halftime with the Lions totaling more than 300 yards after the break. The Giants are now the first team in NFL history to lose six straight games in a single season where they scored at least 20 points and that stats basically sums up what kind of year it's been for New York. 

Seattle 30-24 over Tennessee 

B+
With Thanksgiving right around the corner, the Seahawks should be thankful that they have Jaxon Smith-Njigba, because no one can stop him. JSN came in this game as the NFL's leading receiver and he's going to be keeping that title after going off for 167 yards and two touchdowns on eight catches. If the Seahawks have one problem, it's that Sam Darnold went 8 of 16 for just 77 yards when he wasn't throwing to JSN. The Seahawks had this game in hand, but they took their foot off the gas in the second half. You can bet Mike Macdonald will be reminding his team that they need to play all four quarters as they head into the final stretch of the season. 
C+
The Titans were able to hang in there with one of the best teams in the NFL thanks to two big rookie performances. On special teams, Tennessee seems to have found a draft steal in Chimere Dike. The 2025 fourth-round pick has suddenly turned into one of the best punt returners in the NFL. He returned a punt 90 yards for Tennessee's first TD of the game (It was his second punt return TD of the season). Dike has also been emerging as one of Tennessee's top receiving threats and he actually ended up finished second in both receiving yards (44) and receptions (5) on Sunday. Cam Ward also deserves some credit for playing reasonably well against a tough Seahawks defense. The rookie QB threw for 256 yards and a TD while also leading the team in rushing with 37 yards and a rushing TD. Unfortunately for the Titans (1-10), this team just doesn't have enough talent to compete with the top teams in the NFL, but they do have impressive two rookies, which could make for a bright future in Tennessee. 

Baltimore 23-10 over N.Y. Jets

C
If Aaron Glenn was hoping that benching of Justin Fields would spark the offense, that definitely didn't happen here. With Tyrod Taylor under center, the Jets punted on four of their first five possessions and they only had one drive that went for more than 35 yards in the first three quarters. Breece Hall totaled 119 yards from scrimmage, but he also lost a key fumble in the fourth quarter. The offensive struggles overshadowed the performance of a Jets defense that held Lamar Jackson and the Ravens offense to just 241 yards. This team is still playing hard for Glenn, which might be the only silver lining for the Jets (2-9) in this game.  
B-
The Ravens offense looked out of sync for most of this game, but Baltimore still pulled out the win thanks to a defense that seems to be playing better and better every week. This was a tight game at halftime, but the defense took over during the final two quarters by forcing two turnovers and making two fourth down stops on New York's four second half possessions. Offensively, Lamar Jackson had an erratic day (he completed just 56.5% of his passes for 153 yards) and Derrick Henry averaged just three yards per carry, although he did score two touchdowns. The good news for the Ravens (6-5) is that they were able to handily win despite the offensive struggles, and now, they're back on top of the AFC North, which didn't seem possible after their 1-5 start. 

Houston 23-19 over Buffalo (Thursday)

C
This was a close game, but don't let the scoreboard fool you, it was a concerning loss for the Bills, because it essentially exposed everything that's wrong with their team. The offensive line got bulled by a Texans pass-rush that sacked Josh Allen eight times, which is the most sacks he's ever taken in a game in his entire career. With Allen under constant pressure, the Bills offense fell apart and not even a 100-yard game from James Cook could save the day. The Bills should also be concerned that their defense couldn't clamp down on a Texans offense that was being run by a backup quarterback. And this team also needs to figure out how to win on the road. The Bills have lost three of their last four road games, which isn't a good sign considering they'll be playing on the road if they make the postseason as a wild card team. The bottom line though is that this team goes as Allen goes and the Bills are now 0-4 on the season when they score 20 points or less. If they run into a tough defense in the playoffs, they could be staring at an early exit
A-
The Texans have had one of the best defenses in the NFL all season and on Thursday night, they showed a national audience just how good their defense really is. With Will Anderson (2.5 sacks) and Danielle Hunter (two sacks) leading the way, the Texans pass-rush beat up on Josh Allen for four straight quarters, sacking the Bills QB eight times. The constant pressure led to two interceptions by Allen, which both went to Calen Bullock. The Texans offense only had one good quarter with 17 of their 23 points and 52% of their total yards coming in the second quarter, but when your defense is that good, that's all you need. It was an uneven offensive performance, but that's to be expected when you have a backup QB (Davis Mills) playing. At 6-5, the Texans are right back in the playoff race and other AFC teams should be hoping they don't get in, because this defense is good enough to help Houston beat anyone.