After missing two months due to a broken collarbone, Aaron Rodgers came back and played like a quarterback who had missed two months due to a broken collarbone during Green Bay's 31-24 loss to Carolina on Sunday. 

Earlier this week, Rodgers had insisted that he wasn't returning to the field so that he could "save" the Packers' season, but in the end, that's exactly what it looked like he was trying to do. With a rusty right arm, Rodgers made some uncharacteristically bad throws in a loss that all but killed the Packers' playoff chances. 

Rodgers suffered three interceptions in the game, which is notable for two reasons: It ties a career high, and it's something he hadn't done in a game since 2009.

The worst part about the picks is that they came on throws that Rodgers is almost always capable of making. On all three interceptions, Rodgers looked like a guy trying to "save" the season only to find that his arm was still a little rusty. As a matter of fact, on two of his three picks, his intended target might have scored a touchdown if Rodgers had put the throw on the mark. 

On Rodgers' first interception, Davante Adams was a full five yards behind the nearest defender, but Rodgers just could't get him the ball.

Whether that's rust, a bad route or a genuinely bad throw, the bottom line is that Rodgers likely completes that pass if he hadn't missed six weeks of practice and eight weeks of regular-season games. 

Rodgers would make nearly the same exact mistake on a third-quarter pass that was intended for Jordy Nelson. Nelson was definitely open, but Rodgers just couldn't get the ball there, which led to another Panthers interception. 

After the game, Rodgers pretty much admitted that he had a little rust he wasn't able to shake off.  

"I felt good, I just missed some throws," Rodgers said, via the team's official website. "Missed some ones I'm used to hitting. Just uncharacteristic plays. I'm disappointed in my performance today."

Of course, you have to give some credit to the Panthers, who designed their entire defensive game plan around putting as much pressure on Rodgers as possible. According to ESPN, Rodgers was blitzed a total of 31 times in the game, which is more than he's ever been blitzed in a game in his career. 

With Rodgers struggling, the Packers could've used a big performance from their defense, but that didn't happen, as Cam Newton shredded them with four touchdown passes. 

With the loss, any hopes of a fairytale ending to the season likely went up in flames. 

"It's not the fairytale that we were hoping for," Rodgers said. "As I lay in that surgery bed eight weeks ago thinking about this moment, I obviously saw it going differently."

At 7-7, the Packers could be eliminated from playoff contention as early as Monday night if the Falcons beat the Buccaneers.

Carolina 31-24 over Green Bay

Packers: C

After two months off, one thing Aaron Rodgers could've used in the game was some protection from his offensive line, but he didn't get that. For most of four quarters was running for his life, and you could almost feel Packers' fans holding their breath every time he took a hit. Rodgers got sacked three times by the Panthers defense and even had an unwelcome reunion in the backfield with former teammate Julius Peppers, who split one of those three sacks.

Panthers: B+

With everyone talking about Aaron Rodgers, Cam Newton did his best to steal the show on Sunday. The Panthers quarterback threw four touchdown passes against Green Bay, marking only the sixth time in his career that he's thrown four or more touchdowns in a game. Not surprisingly, the Panthers are 6-0 in those games. Newton definitely took advantage of finally having Greg Olsen in a game for four quarters. The Panthers tight end caught nine passes for 116 yards and a touchdown. Defensively, the Panthers went after Rodgers early and they went after him often. Carolina blitzed the Packers quarterback 31 times and ended up sacking him three times. 

Minnesota 34-7 over Cincinnati

Bengals: F

If Marvin Lewis decides to coach somewhere else next season, he probably shouldn't go to the NFC North. For the second week in a row, the Bengals played a team from that division and for the second week in a row, the Bengals got obliterated. Everyone from Lewis on down looks like they've officially mailed it in for the season, which is how you get a loss this big. Over their past 10 quarters of play, the Bengals have now been outscored 87-17. The Bengals looked lost on offense, and Andy Dalton (11 of 22, 113 yards, pick-six) made a pretty strong argument for letting AJ McCarron play the final two games. 

Vikings: A

Although the Vikings weren't able to pull off their first shutout in 24 years, coach Mike Zimmer is probably still more than happy with the defensive performance he got from his team. The Vikings held the Bengals to just 161 total yards in this game, which is the fewest yards the team has allowed in a home game since 1994. This blowout win wasn't just big because it clinched the NFC North for the Vikings; it was big because Teddy Bridgewater was able to play in a game for the first time in more than 700 days.  

New Orleans 31-19 over N.Y. Jets

Jets: B-

With Bryce Petty under center for the Jets, this game had all the makings of a blowout, but the Jets defense didn't let that happen. The Jets defense slowed down the Saints' high-powered offense by forcing three turnovers. As for Petty, he threw two interceptions and completed less than 50 percent of his passes, which is why it was so impressive that this game didn't get ugly. This was a one-score game until Mark Ingram scored on a 50-yard run with 1:33 left in the game.

Saints: B

With only one football to play with, it's amazing that Drew Brees is able to keep all his offensive weapons happy, but he definitely was able to pull that off against the Jets. Brees completed 26 passes, with 20 of those going to either Michael Thomas (nine catches, 93 yards, 1 TD), Alvin Kamara (six catches, 45 yards, 1 TD) or Mark Ingram (five catches, 77 yards). Ingram was actually even more impressive on the ground, rushing for 74 yards and two touchdowns. The backfield combination of Ingram and Kamara has suddenly turned into one of the best running back duos in NFL history. 

Although the Saints turned the ball over three times, when you have this many weapons, it almost doesn't matter. The Saints are now 2-0 on the season when they turn the ball over three or more times. The Saints and Falcons are the only two teams in the NFL this year that have won multiple games when turning the ball over three or more times. 

Buffalo 24-16 over Miami

Dolphins: C-

Jay Cutler must have used up all his holiday magic against the Patriots last week because he looked terrible against the Bills. The Dolphins quarterback was intercepted three times in the second half and somehow, each one was actually uglier than the one before it. The worst pick came with under a minute left in the game after the Dolphins recovered an onside kick. 

Cutler might want to think about re-retiring. 

Bills: B-

In a game where LeSean McCoy became the 30th player in NFL history to hit the 10,000-yard mark, it's almost fitting he accounted for half of the Bills points in this victory. Not only did McCoy rush for 50 yards and a touchdown, but he also caught four passes for 46 yards and another touchdown. The Bills weren't great, but sometimes "not great" is good enough to win, especially when Jay Cutler spends most of the second half throwing interceptions. 

Baltimore 27-10 over Cleveland

Ravens: B+

The Ravens' recipe for success has been pretty simple this season: be completely average on offense, play dominant defense and let Justin Tucker score as many points as possible. Well, let's just say they definitely stuck to that recipe in their win over the Browns. The Ravens' defense forced four turnovers, which led directly to two Baltimore touchdowns. The biggest play for the Ravens defense came in the third quarter when Za'Darius Smith stripped DeShone Kizer in the end zone and Brandon Williams recovered for a Baltimore touchdown. The score gave the Ravens a 24-10 lead and effectively iced the game. 

Browns: F

If DeShone Kizer was trying to impress new Browns general manager John Dorsey in this game, he didn't go a good job. The Browns quarterback threw for negative-12 yards in the first quarter and things didn't get much better after that. And yes, you read that right, Kizer threw for negative yardage in the opening quarter, which doesn't happen very often in the NFL. Kizer also threw an interception inside the Ravens' 10-yard line, lost a fumble that Baltimore recovered for a touchdown and pretty much likely played himself out of a job for next season.   

Philadelphia 34-29 over New York Giants

Eagles: B

After losing their MVP candidate quarterback to a season-ending injury, no one would've been surprised if the Eagles offense struggled in New York, but that's not what happened with Nick Foles under center. Foles kind of looked like an MVP himself with four touchdown passes and no interceptions as he led the Eagles back from a 20-7 first-half deficit. For the Eagles, the only thing more impressive than Foles in this game was their special teams unit, which blocked an extra point, a field goal and a punt. 

Giants: B

The fact that Eli Manning got benched this season is becoming more and more laughable every week. The Giants quarterback single-handedly kept New York in this game with 434 passing yards and three touchdowns. The crazy thing about Manning's performance is that he threw 57 passes against Philly, which is the second-highest total in his career. Sterling Shepard was the biggest benefactor of Manning's big day, catching 11 passes for 139 yards and a touchdown.  

Jacksonville 45-7 over Houston

Texans: F

If you've ever wondered what would happen if a team's third-string quarterback went up against the best defense in the NFL, you now have your answer. 

Jaguars: A+

We've been talking about the Jaguars' defense all season and while that was happening, Blake Bortles somehow morphed into one of the best quarterbacks in the NFL. Bortles passed for 326 yards and three touchdowns and has been arguably the best quarterback in the NFL in the month of December. 

Bortles has been even more impressive in the red zone this season, throwing 16 touchdown passes and zero interceptions after adding three to his total on Sunday. The most impressive thing about Bortles' performance against Houston is that he did it without Leonard Fournette and two of his top receivers. 

Washington 20-15 over Arizona

Cardinals: C

If the Cardinals' offense could have figured out how to function in the red zone, Arizona probably could have won this game, but that never happened. The Cardinals made six trips to the red zone on Sunday and came away with zero touchdowns. Although we probably shouldn't be surprised that Phil Dawson was forced to kick five field goals in this game, because he's become the Cardinals entire offense. Dawson has scored 30 straight points for the Cardinals over their past three games. The last time a player who wasn't Dawson scored came 11 quarters ago. 

Redskins: B

Blaine Gabbert played the roll of Santa Claus for the Redskins on Sunday, delivering two big gifts to Washington's defense. The first gift game on Arizona's opening possession when Gabbert lost a fumble that the Redskins recovered at Arizona's 6-yard line. The second gift came when Gabbert threw a pick inside the Redskins' 10-yard line. The Redskins' defense had Gabbert on the run all day and ended up sacking him five times. Offensively, the Redskins put up their lowest rushing total of the season (31 yards), but were still able to come out with the win thanks to a 196-yard, two-touchdown performance from Kirk Cousins

Los Angeles Rams 42-7 over Seattle

Rams: A+

Not many teams can walk into Seattle and blow out the Seahawks, but that's exactly what the Rams did. The secret to stopping to the Seahawks is to stop Russell Wilson, and the Rams defense made sure to do that. The Rams sacked Wilson seven times, with Aaron Donald racking up three of those sacks. The Rams defense was so good that Todd Gurley's amazing performance was almost an afterthought. The Rams running back totaled 180 yards and four touchdowns in the win. The Rams' 35-point margin of victory was their biggest road win since 2000. This game marked just the third time since 1990 that the Rams have held an opponent under 150 yards of total offense (the Seahawks finished with 149). 

Seahawks: F

It's not often that the Seahawks fall flat on their face in a big game, but that's what happened in their NFC West showdown with the Rams. Russell Wilson has basically been the Seahawks' entire offense this season, and now we know that happens when the opponent bottles him up: The Seahawks get blown out. Of course, even if Wilson had gone wild, there's no guarantee the Seahawks would've won and that's because they couldn't stop Todd Gurley. This was the Seahawks' largest home loss since 1997.

New England 27-24 over Pittsburgh

Patriots: A

Rob Gronkowski must have got some serious rest during his one game suspension because he went full Gronk on the Steelers. Despite the fact that the Steelers did their best to key in on Gronk, the Patriots tight end still had a huge game, catching nine passes for 168 yards. Gronk came up the biggest when the Patriots needed him the most. With the Patriots trailing 24-19, Gronk caught three passes for 69 yards on a drive that ended with Dion Lewis' game-winning touchdown. 

Steelers: B+

After playing a nearly perfect game against their archrival, the Steelers are likely going to have nightmares about this loss for the rest of the season. Ben Roethlisberger is probably going to have nightmares about the ugly interception he threw in the Patriots' end zone with five seconds left, while the rest of team is going to have nightmares about the catch rule. 

San Francisco 25-23 over Tennessee

Titans: D

The Titans season is slowly unraveling right before their eyes. One week after a 12-7 heartwrenching loss to the Cardinals, Tennessee came back and lost even an bigger heartbreaker to the 49ers. Last week, it was the Titans' offense that failed them; this week, it was their defense. The Titans' defense gave up three scoring drives over the final 8:30 of the game, which led to the 49ers win. After struggling against two NFC West teams over the past two weeks, things aren't going to get any easier next week because they have to play the first-place team in the division: The Los Angeles Rams. 

49ers: A

At the rate he's going, Jimmy Garoppolo might not ever lose a game. The 49ers quarterback is now undefeated in five career starts after pulling off this wild comeback. Garoppolo's even doing things that haven't been seen in San Francisco in more than a decade. With 381 yards passing, Garoppolo became the first 49ers quarterback since 2000 to throw for 300 or more yards in back-to-back games. The biggest benefactor of Garoppolo's arrival has been Marquise Goodwin, who had another huge game with 10 catches for 114 yards. He's had at least 99 yards in each of Garoppolo's three starts. Jimmy G and the 49ers also got some serious help from Robbie G. 49ers kicker Robbie Gould hit six field goals in the game, including the game-winner from 45-yards out. He also hit from 38, 48, 28, 50 and 48 yards. 

Dallas 20-17 over Oakland

Cowboys: B

The Cowboys weren't perfect, but they did exactly what they needed to do to escape Oakland with a victory Sunday night. Although Dak Prescott struggled at times, he came up big in the clutch. With the score tied at 17 in the fourth quarter, Prescott led the Cowboys to the winning field goal by going 3 of 4 for 61 yards on an 11-play drive that covered 69 yards. Before that drive, Prescott had only thrown for 143 yards in the game, plus two interceptions. The good news for Prescott and the Cowboys is that they're going to get some serious offensive reinforcements this week with the return of Ezekiel Elliott.

Raiders: B-

This was a Murphy's Law game for the Raiders because everything that could go wrong ended up going wrong for them. Although most of it was their fault -- for instance, Derek Carr fumbled away the game in the final minute, Giorgio Tavecchio missed a short field goal and a kickoff return for a touchdown was called by back by a penalty -- there were also a few bizarre things that went against the Raiders that were completely out of their control. Namely, a ref used a folded piece of paper during a measurement of a crucial Cowboys first down in the fourth quarter that Dallas ended up converting by about a centimeter.