After 25 years of winning games due to stellar quarterback play, the Packers finally flipped the script on themselves and won a game with ugly quarterback play, which almost never happens in Green Bay. 

As a matter of fact, the Packers managed to do something with Brett Hundley on Sunday they've never done with Brett Favre or Aaron Rodgers: They won a game with less than 80 passing yards. 

The Packers mustered 77 yards through the air, but they were still able to hang on to beat the Buccaneers 26-20 in a wild overtime game at Lambeau Field. Not only did the Packers keep their faint playoff hopes alive, but they also increased the chances that Rodgers could return at some point this season. 

Rodgers has said he's going to return only if it makes sense, and the only way it's going to make sense is if the Packers are in the playoff race, so this victory was huge --  if it proved one thing, it's that Rodgers can't return soon enough. 

Hundley finished with only 84 passing yards -- a number that went down to 77 due to two sacks -- and he almost single-handedly killed the Packers' playoff chances. However, Green Bay's postseason hopes were kept alive by running back Jamaal Williams and a a desperate Packers defense that made big play after big play against the Bucs. 

On Williams' end, the rookie running back -- who had never rushed for more than 67 yards in a game this season -- exploded for 113 yards and a touchdown on 21 carries. Of course, Packers fans weren't talking Williams after the game, they were talking about another running back: Aaron Jones

Jones got only one carry the entire game, but he made it count. On the opening possession of overtime, Jones gave the Packers a walk-off win with a 20-yard touchdown run, and yes, there was definitely a Lambeau Leap involved. 

Seriously, that was Jones' only carry in the game. 

As for Hundley, although he struggled for most of the game, he must have been taking notes during his time as a backup because he turned into Aaron Rodgers in overtime. Not only did Hundley throw for 30 of his 84 yards in the extra period, but he also converted a third-and-4 in OT by running for seven yards. Six plays later, Jones would win the game with his touchdown. 

Of course, the Packers probably don't even make it to overtime if not for one of the best defensive performances that Green Bay has turned in this year. Jameis Winston didn't have any breathing room as the Packers' pressure managed to suffocate him for nearly four quarters. Not only did the Packers sack Winston seven times, but their pressure also led to a first-half touchdown. In the second quarter, Dean Lowry picked up a Winston fumble and returned it 62 yards for a touchdown. 

The seven sacks were the most the Packers had racked up in one game since 2015. Winston will probably be having nightmares about Clay Matthews after getting sacked 2.5 times by the Packers linebacker on Sunday. 

It's a good thing that Rodgers might be coming back soon, though, because the Packers definitely aren't built to win games without their quarterback. The win over the Bucs marked the first time since 1991 that Green Bay won a game with 80 yards or less in the passing department. That's pre-Favre and pre-Rodgers. That's 25 years of being carried by your quarterback. 

For one week, the quarterback didn't have to do everything in Green Bay, and the desperation shown by the Packers brought them one tiny step closer to a possible playoff berth and one small step closer to getting Rodgers back. 

The sooner Rodgers gets back the better.   

Green Bay 26-20 (OT) over Tampa Bay

Buccaneers: B-

This game might have actually epitomized Winston's entire career with the Buccaneers. For the better part of four quarters, he looked like a franchise quarterback as he shredded the Packers defense for 270 yards and two touchdowns. Unfortunately, the Winston who always seems to turn the ball over at the worst possible time also reared his ugly head. Winston lost a fumble in the second quarter that the Packers returned for a touchdown. Winston now has a total of 50 turnovers in 40 career games. Of course, it's not like Winston got much help from his offensive line. In his first game back after sitting out three weeks with a shoulder injury, Winston got hit nearly every time he dropped back to pass, getting sacked seven times in the game.  

Packers: B+

Despite Hundley's struggles, the Packers' offense was still somewhat effective and that was thanks to a ground game that produced 199 yards. Rodgers would probably love to get that kind of help. The rushing total marked just the fifth time since 2010 that the Packers have rushed for 195 or more yards. . 

New England 23-3 over Buffalo

Patriots: B+

Tom Brady must have given his offensive line a dirty look at halftime because they drastically improved in the second half after letting Brady get beat up for the game's first two quarters. Brady was hit multiple times and took three sacks in the first half, but was rarely hit hard in the second half. Of course, that also had to do with the fact that the Patriots got their ground game rolling with 191 yards rushing in the game. Not that Brady needs help against the Bills -- he's now 27-3 all-time against them -- but when he gets that kind of rushing help, he's impossible to beat. Since 2004, the Patriots are 25-0 when they rush for 175 yards or more. 

Bills: F

Just when you think the Bills might be ready to make some noise in the playoff race, they go out and embarrass themselves in an ugly loss to a hated rival. Tyrod Taylor threw an interception on the Bills' first possession of the game and things only got worse from there. The interception was especially ugly because it came at the end of a 66-yard drive where Taylor led the Bills down to New England's 6-yard line. 

New York Jets 38-31 over Kansas City

Chiefs: D

Andy Reid's decision to give up play calling duties and hand them off to offensive coordinator Matt Nagy definitely paid off for Kansas City. The Chiefs scored more touchdown in the first five minutes on Sunday than they did in their past two games combined.  Maybe Reid should have let Nagy make the defensive play calls, too, because Kansas City had no answer for the Jets' offense. Although the Chiefs lost, this game might have given Alex Smith some breathing room from critics. Not only did Smith throw for 366 yards and four touchdowns, but he also had a 70-yard run. 

Jets: B+

The Jets played like literal Jets as they put on an air show against the Chiefs with Robby Anderson and Jermaine Kearse leading the way. Kearse, who came over from Seattle in an offseason trade, had the biggest game of his six-year career with 157 yards. As for Anderson, he's quietly turned into one of the top receivers in the NFL over the past month. Including Sunday's 107-yard game against the Chiefs, Anderson has now hit the 100-yard mark a total of three times since Week 8. The biggest shock here is that Josh McCown continues to thrive at age 38. The Jets quarterback must be reading Tom Brady's book on staying young because he threw for 331 yards and a touchdown in the win.

Jacksonville 30-10 over Indianapolis

Colts: D

The good news for the Colts is that they didn't blow a halftime lead in this game. The bad news is that they never led once during the 60 minutes they were on the field in Jacksonville. The Colts' lone highlight in this game was a fourth-down pass in the third quarter that T.Y. Hilton turned into a 40-yard touchdown. For Colts fans, the other 59 minutes and 45 seconds of the game was basically misery. 

Jaguars: B+

As the saying goes, Blake Bortles is like a box of chocolates, you never know what you're going to get. The scary thing for the rest of the NFL is that if you get the Bortles who throws for 300 yards, then the Jaguars are unstoppable. Bortles threw for 309 yards on Sunday, marking the second time this season that he's hit the 300-yard mark and the Jags have won those two games by a combined score of 57-10. In something that's probably not a coincidence, both of Bortles' 300-yard games have come against the Colts. 

Tennessee 24-13 over Houston

Texans: B-

The Texans got the best performance of Tom Savage's career, but it went to waste thanks to a struggling kicker who missed two field goals. Ka'imi Fairbairn missed a 48-yard field goal just before halftime, then followed that up with an even uglier miss from 28 yards out in the third quarter. Of course, we can probably also put some of the blame for the loss on Savage. Although he threw for a career-high 365 yards, he killed the Texans' comeback chances when he thew an interception on a first down play from the Titans' 29-yard line with just 73 seconds left to play. 

Titans: B

The Titans might want to drop the exotic part of their "exotic smashmouth" offense because smashmouth football seems to be winning them games every week. The Titans rushed for 198 yards, marking the fourth time this season that Tennessee has rushed for 175 yards or more in a game. The Titans are 4-0 in those games and 8-1 in Marcus Mariota's career when they rush for 175 or more yards. There's no official stat for ugly wins, but if that did exist, the Titans would probably lead the league in them. 

San Francisco 15-14 over Chicago

49ers: A

Jimmy Garoppolo might have just earned himself a $150 million contract with the way he played against the Bears. After 11 games of unbearable football, the 49ers were actually exciting to watch on Sunday as Garoppolo directed an offense that totaled 388 yards. Garoppolo finished 26 of 37 for 293 yards and directed five scoring drives, including an 86-yard drive over the final six minutes of the game that eventually led to the 49ers game-winning field goal. Speaking of field goals, the Bears are probably having some regrets about cutting Robbie Gould. The former Bears kicker got revenge on his old team by nailing five field goals, including a game-winner from 24 yards out with just four seconds left to play. 

Bears: D

The Bears have had some ugly offensive performances this season, but this one might have been the worst and possibly the most embarrassing. In a game against one of the worst defenses in the NFL, the Bears were able to muster only 147 yards, which was shockingly bad, even for the Bears. The yardage total marked just the second time since 1990 that the Bears didn't crack the 150-yard mark in a home game. 

Minnesota 14-9 over Atlanta 

Vikings: B+

It's hard to say what was more impressive about this win, the fact that the Vikings shut down Julio Jones or the fact that Case Keenum outdueled reigning NFL MVP Matt Ryan. One week after Jones exploded for 253 yards against the Bucs, the Vikings limited him to just 24 yards on two catches. The yardage total was Jones' second lowest since 2013. As for Keenum, he looked more like an MVP than Ryan. The Vikings quarterback was nearly perfect, completing 25 of 30 passes for 227 yards and two touchdowns. 

Falcons: C

Going into Sunday's game, the Falcons were NFL's best team at converting third downs, but they seemed to fall flat on their face every time that down came up against Minnesota. The Falcons finished just 1 of 10 on third down conversions, which was a big reason why there were forced to attempt four field goals against the Vikings. Ryan threw for only 173 yards in the game, marking the first time since November 2013 that he didn't throw for at least 175 yards. 

Miami 35-9 over Denver

Broncos: F

If there was a lower grade to give the Broncos, we would give it to them their because they were a failure in every sense of the word on Sunday. Not only did Trevor Siemian throw three interceptions -- including one that went for a pick-six -- but the Broncos also had a punt blocked, got safetied twice and only converted 1 of 13 third downs. It's almost fitting that this game clinched the Broncos' first losing season since 2010. 

Dolphins: B+

The Dolphins didn't even need their offense in this game as Miami's defense and special teams totaled enough points (11) by themselves to beat Denver. It's a good thing the offense played, though, otherwise we wouldn't have seen Kenyan Drake shred the Broncos defense for 120 yards and a touchdown. This game definitely felt personal for Dolphins' coach Adam Gase, who called for an onside kick in the fourth quarter even though his team was already up 33-9. 

Baltimore 44-20 over Detroit

Lions: D

The Lions picked a bad time to play their worst first half of the season. During the game's first two quarters, the Lions punted three times, missed a field goal, lost a fumble and didn't score a single point, and that was just on offense. Defensively, they gave up 20 points to a Ravens offense that went into Sunday's game ranked 31st overall in total offense. Although Matthew Stafford caught fire in the second half -- he completed 20 passes in a row at one point -- it was too little too late for the Lions. 

Ravens: B+

For the first time all season, we finally got to see what happens when the Ravens offense explodes on the other team. Sure, for most teams, 370 total yards isn't considered an offensive explosion, but it is for Baltimore. Thanks in large part to Joe Flacco's 269 yards and two touchdowns, the Ravens were able to hit their highest yardage total of the season. Flacco threw for 192 yards in the first half alone, which is more than he's thrown for in seven ENTIRE games this season. The offensive resurgence had a lot to do with Mike Wallace, who totaled 116 yards in the first half, which is a ridiculous number when you consider that he only had 371 receiving yards all season going into Sunday's game. 

L.A. Chargers 19-10 over Cleveland

Browns: C

It's too bad moral victories don't count because if they did, the Browns would probably be closer to 6-6 than 0-12. The Browns continued to find ways to make mistakes at the worst possible times and in this game, that turned out to be the fact that the Browns turned the ball over on their final two possessions of the game. Josh Gordon actually looked pretty impressive considering he hasn't played in a game since 2014. The Browns receiver caught four passes for 84 yards.   

Chargers: B-

After Sunday's win over the Browns, it's almost like the Chargers' 0-4 start never happened. All of the sudden the Chargers are tied for first place, and unlike the Chiefs and Raiders, the Chargers seem to be gelling at the right time. Keenan Allen caught 10 passes for 105 yards, marking the third straight game that he's caught 10 or more passes for 100 or more yards. Philip Rivers isn't just throwing the ball to Allen though. The Chargers quarterback, who finished 31 of 43 for 344 yards and a touchdown, completed passes to seven different receivers.   

New Orleans 31-21 over Carolina

Panthers: C-

The Panthers' defense has come up big multiple times for the team this year, but in this NFC showdown, the Panthers had no answer for anything the Saints threw at them. The Saints totaled 400 yards in this game, marking the first time all season that a team has hit the 400-yard mark against Carolina. Even though they saw the Saints twice a season, the Panthers still haven't been able to figure New Orleans out. The Panthers have only given up 31 or more points twice this season and both games came against the Saints. 

Saints: A

Although there's still four games left in the regular season, we might want to go ahead and give the Offensive Rookie of the Year award to Alvin Kamara right now because no rookie has made as big as an impact as he has down the stretch. The rookie running back touched the ball 14 times against the Panthers and totaled 126 yards and two touchdowns. It doesn't matter whether the Saints throw it to him (66 yards receiving) or hand it to him (60 yards rushing and two touchdowns), Kamara has been borderline unstoppable.  

L.A. Rams 32-16 over Arizona

Rams: A

The Rams' defense almost put this game away before the first quarter was even over. In the first 15 minutes of the game, the Rams picked off Blaine Gabbert twice, which included a 41-yard pick-six by Alec Ogletree. The other interception set up a short touchdown by the Rams, who were leading 16-0 before the second quarter even started. As if that wasn't dominating enough, the Rams also sacked Gabbert six times, with Aaron Donald (2) and Ethan Westbrooks (2) leading the way. With the win, the Rams have now clinched their first winning record since 2003. 

Cardinals: D

Whatever magic Blaine Gabbert used in Arizona's win over the Jaguars last week definitely ran out, because Gabbert looked hopelessly overmatched against the Rams. On Gabbert's first four passes of the game, he completed more passes to the Rams than he did to his own teammates, going 1 of 4 with two interceptions. One bright spot in this game was Kerwynn Williams, who carried the ball 16 times for 97 yards while filling in for Adrian Peterson.    

Oakland 24-17 over N.Y. Giants

Giants: C-

In his first game since making the most controversial personnel move of the 2017 season, Ben McAdoo coached like a guy who just made the most controversial personnel move of the 2017 season. With Geno Smith under center, the Giants called a lot of safe plays that kept him from making mistakes. Even with that game plan though, Smith still managed to make several mistakes as he lost two fumbles in the first half. Smith wasn't horrible though, which might be enough to save McAdoo's job until the end of the season. On the other hand, it wouldn't be surprising at all to see the Giants dump the coach who has led them to a 2-10 record.  

Raiders: B-

With their two best receivers out of the game, the Raiders still managed to put more than 400 yards on the Giants, and that's mainly because Beast Mode finally went Beast Mode. For the first time all season, Marshawn Lynch cracked the 100-yard mark, as he carried the ball 17 times for 101 yards and a touchdown. Derek Carr also managed to throw for 287 yards, even though he didn't have Michael Crabtree or Amari Cooper. The Raiders also had to be encouraged by the their defense, which gave up 275 yards or less for the second straight week. It's hard to say if the Raiders are actually good, but right now, that doesn't matter because you don't have to be good to win the AFC West. The win over the Giants means the Raiders are now in a first-place tie for the division lead. 

Seattle 24-10 over Philadelphia

Eagles: C+

This is the closest thing to a playoff atmosphere that the Eagles have seen this season and they cracked under the pressure. Although they lost by two touchdowns, this one of those games that was a lot closer than the scoreboard indicated. Carson Wentz made several mistakes, including a goal line fumble, that cost his team a chance at points. The big difference in this game was how each team played in the red zone. The Seahawks scored a touchdown on all three of their possessions in the red zone while the Eagles came up empty on touchdowns in two trips. After what happened in this game, the Eagles better hope they don't have to return to Seattle in the postseason. 

Seahawks: A

If Russell Wilson wasn't a top MVP candidate before Sunday night, he definitely is after what he did to the Eagles defense. The Seahawks quarterback threw for 227 yards and three touchdowns, and more importantly, didn't turn the ball over a single time -- unlike his counterpart Carson Wentz, who turned the ball over twice. Although Wilson was amazing, that's borderline expected from him at this point. What wasn't expected was the Seahawks totally shutting down a Philadelphia offense that went into the game averaging an NFL-high 31.9 points per game. The Seahawks constantly pressured Wentz and battered him to the tune of three sacks. The biggest defensive play of the night was a hit on Wentz, but it wasn't a sack. In the third quarter, Sheldon Richardson forced a Wentz fumble at the 1-yard line. The ball ended up going through the end zone and out of bounds, which gave the Seahawks a touchback.