It's almost fitting that it was snowing in Buffalo on Sunday because Steelers running back Le'Veon Bell looked like he was sledding downhill during a record-setting performance in Pittsburgh's 27-20 win over the Bills.

With the Steelers passing game on ice, Pittsburgh was able to survive in Buffalo thanks to Bell, who rushed for a franchise-record 236 yards and three touchdowns. Bell became the first player this year not named Jay Ajayi to hit the 200-yard mark. Bell's total broke Willie Parker's Steelers' record of 223 yards, which had stood since December 2006.

As the Steelers creep closer to clinching a playoff berth, this performance should scare the rest of the AFC. For one, Bell looks fresh, and ready to roll for the postseason. In a twist of fate, the fact the Bell had to sit out the Steelers' first three games due to suspension might actually be helping him. That's three weeks of practice and three weeks of being hit in games that Bell didn't have to go through.

The reason Bell's performance should scare the AFC is because the the Steelers are usually horrible when Ben Roethlisberger is bad, but that didn't happen in Buffalo. Big Ben had one of the worst games of his career with three interceptions, which usually means disaster for Pittsburgh.

Before Sunday, the Steelers had a 1-9 regular season record when Roethlisberger threw three or more interceptions in a game. This time around though, the Steelers were able to survive Roethlisberger's meltdown thanks to Bell's record-setting performance.

The Steelers seem to have the most high-powered, versatile offense in the AFC, and with a defense that seems to be getting better every week, Pittsburgh might be the new favorite to win the AFC.

Pittsburgh 27-20 over Buffalo

Steelers: B

Although we gave Le'Veon Bell all the credit above, we should also give some credit for this win to a Steelers defense that seems to be peaking at the right time. Pittsburgh's defense seemed to harness the power of the Steel Curtain as they sacked Tyrod Taylor five times and held the Bills' top-ranked run game to just 67 yards.

Bills: C-

If the Bills are trying to get Rex Ryan fired, then they did a good job of that against the Steelers. Just hours after CBS Sports NFL Insider Jason La Canfora reported that Ryan could be canned as soon as this week, the Bills came out and laid an egg. If Ryan's specialty is defense, then he might want to think about picking up a new specialty after watching the Bills get trampled for 240 yards on the ground. On offense, the Bills had less than zero yards (-1) after the first quarter. The only reason this game wasn't a blowout is because the Bills scored two touchdowns in the final 7:30 of the game.

Tennessee 13-10 over Denver

Broncos: C-

At the point in the season, the Broncos defense is probably starting to think they'd have a better chance of winning if Denver's offense never stepped foot on the field. You can blame the Broncos' offensive line, you can blame their lack of a running game, you can can blame Trevor Siemian, or you can blame them all, but the bottom line is that the offense has been horrible this year, and that trend continued in Tennessee. Coach Gary Kubiak tried to spark the running game by bringing in Justin Forsett, but that plan failed miserably when Forsett fumbled away his first carry with Denver. That fumble led to a Titans field goal, , which is kind of a big deal when you only lose by three points. The Broncos only had 18 rushing yards in this game, which is tied for the team's second-lowest rushing total dating back to 1980.

Titans: B

If you told Titans fans their team was only going to put up 253 yards of offense in this game and win, they probably would've laughed in your face. Before Sunday, the Titans were 0-6 in the Marcus Mariota-era when putting up 260 or fewer yards, but that changed in this game, thanks to DeMarco Murray and a Titans defense that terrorized Trevor Siemian. Murray grinded through the Broncos defense for 92 and a touchdown, while the Titans defense didn't allow a single drive of over 40 yards in the entire game. The Titans won despite the fact that Mariota finished just 6 of 20 for 88 yards.

How ugly was that?

You never want to be mentioned in the same sentence as JaMarcus Russell. The good news for the Titans is that they're now tied for first place this late in the season for the first time since 2008.

Washington 27-22 over Philadelphia

Redskins: B+

If DeSean Jackson is hoping to return to Philadelphia following the 2016 season, he had a pretty good audition on Sunday. The Redskins receiver caught three passes for 102 yards in this game, including a huge 80-yard touchdown catch in the second half that put the Redskins up 14-13. Kirk Cousins wasn't perfect in this game, but he didn't have to be because the beasts in his backfield (Rob Kelley and Chris Thompson) combined for 101 yards and two touchdowns while averaging 5.3 yards per carry.

Eagles: B-

Carson Wentz single-handedly nailed the final nail in the coffin of the Eagles' playoff chances. Two huge mistakes by the Eagles rookie cost Philly big time in this game. The first mistake was an interception in the first quarter on a play where Philadelphia had the ball at Washington's 3-yard line. The other mistake came when Wentz lost a fumble on the Eagles' final offensive possession of the game.

Miami 26-23 over Arizona

Cardinals: C

This game couldn't have been any uglier for the Cardinals, who looked completely inept in the first half. On their first seven possessions of the game, the Cardinals turned the ball over four times, punted the ball once and missed a field goal. The only reason this grade isn't worse is because the weather was so bad, it looked like a hurricane was going to hit Hard Rock Stadium during the game.

Dolphins: B

Although the Dolphins didn't lose this game, their playoff hopes might have died anyway. During the game, quarterback Ryan Tannehill went down with a knee injury in the third quarter and looks to be lost for the season. The Dolphins' season is now in the hands of Matt Moore, who looked ugly for three possessions before leading Miami to a game-winning field goal on a drive where he went 2 of 2 for 31 yards.

Carolina 28-16 over San Diego

Chargers: D

For most of this game, it seemed like every Chargers offensive play ended with either a turnover or a sack, and that's only a slight exaggeration. San Diego ran a total of 67 plays in this game, and 10 of those DID end with a turnover or a sack. The Chargers sloppy offense turned the ball over five times and Philip Rivers was sacked five times. The turnover total marked just the fourth time since 2003 that the Chargers have committed five or more turnovers in a game. Now we can start playing the "Who gets fired first: Rex Ryan or Mike McCoy" game.

Panthers: B+

Despite the fact they were missing Luke Kuechly on Sunday, the Panthers defense didn't seem to miss a beat without its star linebacker. Ron Rivera better not try and hand out a defensive MVP award for this game because that would basically be impossible thanks to the fact that pretty much everyone contributed. The Panthers' forced five turnovers, which came from five different players. The team also racked up five team sacks, which came from four different players.

Cincinnati 23-10 over Cleveland

Bengals: B+

For someone who has never played in snow before, Bengals Andy Dalton looked more comfortable in than an Eskimo out in the white stuff. Playing in his first snow game, Dalton went 20 of 28 for 180 yards and two touchdowns. Dalton probably could've done more damage, but the Bengals were content to feed Jeremy Hill (25 carries, 111 yards, 1 TD) after they went up 20-0 at the half. The Bengals scored topped the 22-point mark in this game, which is basically their magic number. Including Sunday's win, the Bengals are now 33-1-2 in games where they score 22 or more points. That's right, they have more ties than losses in that span.

Browns: C-

Before Sunday, Robert Griffin III hadn't played since Week 1, and it looked that way during his return to action against the Bengals. You know you have rough return when the number in your nickname (RG3) is higher than the number of passes you completed in the first half (2 of 20, 20 yards, 1 INT). The Browns did get a big game from Isaiah Crowell, who racked up 87 of his 113 rushing yards in the third quarter. By the way, although we gave the Browns a 'C-,' we're giving their mascot an 'F' for this slide.

That's basically the Browns' season in a nutshell.

Detroit 20-17 over Chicago

Bears: B

Matt Barkley is doing his best to make sure there's a quarterback controversy in Chicago next season. For the second straight week, Barkley looked impressive, and for the second straight week he did that by throwing some big passes to Cameron Meredith. The Bears second-year receiver caught six passes for 72 yards and a touchdown in the game. The good news about Barkley's emergence is that now Bears fans will have something to argue about his offseason besides who Chicago should take with their first pick in the NFL Draft.

Lions: B

At this point in the season , it almost seems like the Lions aren't comfortable in a game unless they're trailing at some point in the fourth quarter. Matthew Stafford put the Lions behind with a pick-six in the fourth quarter, but then redeemed himself with a seven-play, 75-yard drive that ended with Stafford scoring the winning touchdown on a 7-yard run with just 3:17 let. Lions wide receiver Marvin Jones was on the field for the first time since Thanksgiving, and he led the team with 67 yards in his return. Stafford's fourth-quarter comeback was his eighth of the year, which is the most in one season by any quarterback ever in the Super Bowl era.

Houston 22-17 over Indianapolis

Texans: B

It looks like the Texans officially have a recipe for winning games, and not surprisingly, it doesn't really involve Brock Osweiler. The Texans turned to Lamar Miller and a stifling defense to claim their biggest victory of the season. Miller ran for 107 yards and the Texans defense forced three turnovers. Those three turnovers led to three field goals for Houston, which ended up being a huge factor in the game. The Texans are now in the driver's seat for the AFC South title thanks to their head-to-head sweep over Indy and the fact they have a better division record than Tennessee.

Colts: C

The Colts' final offensive play was basically a metaphor for their entire season: On fourth-and-1 in the fourth quarter, the Colts baffled everyone by calling a screen. After the play failed, Indy turned the ball over on downs, and the Texans ran out the clock. The play was a metaphor because it seemed like no one had any idea what they were doing, which is what the Colts offense has looked like about 75 percent of the time they've been on the field this season.

Minnesota 25-16 over Jacksonville

Vikings: B+

This game could've actually been a blowout if the Vikings had a goal line offense. Minnesota got down to the Jaguars' 1-yard line on two separate occasions in this game, and came away with zero points both times. The good news for the Vikings is that their goal line offense was the only thing that struggled. The Vikings got reliable play from their quarterback and their kicker, which is something that doesn't really happen in the same game for them too often. Sam Bradford threw for 292 yards and a touchdown, while Kai Forbath went 4-for-4 on field goals (43, 32, 40, 46).

Jaguars: B-

The Jaguars played their best game in nearly two months, and that still wasn't enough to beat the Vikings. The loss to Minnesota marked only the third time in 13 games this season that Jacksonville didn't turn the ball over. Maybe the Jags just need to stop playing games in Jacksonville because they're now 0-6 on the season at EverBank Field.

Tampa Bay 16-11 over New Orleans

Saints: D

For the second straight week, the Saints' high-powered offense got shut down in an ugly loss. For New Orleans, the team's offensive struggles start with Drew Brees, who didn't throw a touchdown pass for the second straight game. If that sounds odd, that's because it is. This marks the first time since 2009 that Brees has gone back-to-back games without throwing a touchdown pass. Brees, who also threw three picks, got no help from a Saints ground game that totaled just 46 yards. The Saints are now 0-8 since 2012 when they don't hit the 50-yard mark on the ground.

Buccaneers: B+

The Bucs' defense has turned into a brick wall, and not even Drew Brees could figure out how to get through it on Sunday. The Bucs forced three turnovers and held New Orleans to just 11 points, which has basically been their recipe for success over the past five weeks. During their five-game winning streak, which includes Sunday's win, the Bucs have forced 2.8 turnovers per game and allowed just 12.8 points on average, which are both tops in the NFL over that span. The five-game winning streak is kind of big news in Tampa, because the last time the Bucs had a winning streak this long came in 2002, a season where they ended up winning the Super Bowl.

Besides the Bucs, one of the happiest guys in America right now is probably the guy below who bet some serious money on Tampa to win Super Bowl LI.

With a win over the Saints, the Bucs kept themselves in control of the NFC's final wild card spot.

N.Y. Jets 23-17 over San Francisco

Jets: B

With Bryce Petty making just his second career start, the Jets decided to keep things simple on offense by giving the ball to Bilal Powell as often as possible. Against the worst rushing defense in the NFL, Powell racked up 145 yards and two touchdowns. Most of that total came late in the game; Powell carried the ball 12 times for 78 yards and two touchdowns in the fourth quarter and overtime combined. Powell's impressive showing will probably make everyone forget about the fact that Petty was picked off on his very first pass of the game.

49ers: C

Only the 49ers could manage to blow a 17-6 lead in the final 5:05 of a game. Just when it looked like San Francisco was going to end its 11-game losing streak, the 49ers melted down and gave up 11 points to the Jets in a span of four minutes and 26 seconds that allowed the Jets to send this game to overtime. If 49ers fans are looking for something positive to take out of this game, Carlos Hyde ran for 193 yards, and that's about it. There's just not many positive things to say when your team loses to a team quarterbacked by Bryce Petty. Although the 49ers got gashed on the ground, they did put up their highest sack total (six) since 2013.

Atlanta 42-14 Los Angeles

Falcons: A

The Falcons didn't have Julio Jones, but as it turns out, that didn't even matter; Matt Ryan just threw touchdown passes to everyone else. Ryan had a total of three scoring passes in the game, and those passes went to Tevin Coleman, Justin Hardy and Taylor Gabriel. Defensively, this game marked the first time since 2014 that Atlanta forced five turnovers in a game.

Rams: F

Jeff Fisher's contract extension went public last week, and since then, the Rams have been outscored 68-24. The Rams are playing like a team that wishes their coach didn't get an extension. In this game, Los Angeles fumbled the opening kickoff, and things just went downhill after that.

The fumbled kickoff was one of five turnovers the Rams had in this game.

Green Bay 38-10 over Seattle

Seahawks: F

There's a lot of surprising things about this game, but the most surprising might be this: The 38-10 score marked the first time in Russell Wilson's regular season career that he lost a game by more than 10 points. Wilson only has two double-digit losses in his career, and they both came at Green Bay (10-point loss, 28-point loss). Seattle is probably going to want to try and avoid Green Bay if both teams make the playoffs. This is one of those games where everything that could go wrong did go wrong. Wilson threw five interceptions, which is a rarity for Seattle. The last time it happened came in 1999 when Jon Kitna threw five picks as the Seahawks' quarterback. The Seahawks should just burn the film from this game, and then burn the ashes from burning the film, and pretend this game never happened.

Packers: A+

Three weeks ago, Aaron Rodgers promised that the Packers would run the table, and apparently, Rodgers doesn't break promises. It's hard to say what was more surprising in this game: The fact that Rodgers gashed the Seahawks' defense for three touchdown passes or the fact that Green Bay forced six turnovers. This game marked just the fourth time since 2000 that Green Bay has forced six or more turnovers in a game.

Now the Packers just need to hope that Rodgers' calf injury isn't serious.

I'm guessing he'll be out on the field in Week 15. Anyway, Rodgers is now 15-0 in his last 15 December home games at Lambeau Field.

N.Y. Giants 10-7 over Dallas

Cowboys: C

It's almost like the Cowboys forgot Ezekiel Elliott existed after the first half of this game. Despite the fact that Elliott averaged 4.5 yards per carry, the Cowboys decided to try and ride an erratic Dak Prescott to the win. Of their final 20 offensive plays in the game, 15 were passes and just five were runs. Elliott racked up 86 of his 107 yards by halftime. Prescott struggled (17 of 37, 165 yards, two interceptions) almost the entire game, and it was almost physically painful to watch the Cowboys on third down. Dallas converted just one of their 15 third-down attempts in this game, and have converted just 2 of 23 over their past two games.

It was also probably physically painful for Cowboys fans to watch Dez Bryant go up against Janoris Jenkins. Jenkins owned the Cowboys receiver, and his coverage led to two turnovers (Prescott interception, lost fumble by Bryant). The ugly performance by the Cowboys offense definitely overshadowed what might have been the best performance of the year by the Cowboys defense. The Cowboys are now 0-2 against the Giants this season and 11-0 vs. everyone else. Basically, it sounds like there's one team they'll want to try and avoid in the playoffs.

Giants: B+

The Giants recipe to victory is pretty simple: Play solid defense, play solid special teams, and then pray that Eli Manning hits Odell Beckham with a long pass for a touchdown. The formula worked perfectly on Sunday night as the only big offensive play for the Giants was Manning's 61-yard touchdown pass to Beckham. The Giants defense did the rest, forcing three turnovers, and holding the Cowboys to a season-low in points and yardage (260). As a matter of fact, Sunday's game marked the first time all season the Cowboys were held below 17 points. Manning's three-turnover night (two interceptions, lost fumble) is the only reason that Giants aren't getting an 'A.'