The offense was bad. The defense was bad. The special teams were bad.
Yet, Tampa Bay almost found a way to force overtime after trailing 27-3.
Tom Brady and the Bucs led a furious comeback, but the Rams were too much in the end as Matthew Stafford and Cooper Kupp connected for 64-yards on the game's final drive. Those two receptions proved to be the difference in the loss as the Bucs fell to a final score of 30-27.
The Rams won the toss and deferred, so the Bucs started the game on offense.
The first two plays of the drive consisted of an 11- and 10-yard run by Leonard Fournette. But the drive stalled a few plays later after the Bucs couldn't convert a 3rd and 8. Bradley Pinion's punt bounced into the end zone and the Rams started their first drive of the game at their own 25.
Nine- and 17-yard completions to Cam Akers and Cooper Kupp moved the Rams into Buccaneers territory a few plays into the drive. Brian Allen's holding penalty forced Los Angeles into a 1st and 20, but Odell Beckham Jr.'s 21-yard catch-and-run remedied that issue and the Rams were back on the move.
Stafford then connected with Tyler Higbee for 29-yards to set up a 1st and goal at the Tampa Bay 9. Tampa Bay's defense held the Rams out of the end zone and forced a Matt Gay field goal attempt. The 26-yard attempt went through the uprights and the Rams led, 3-0, with 8:01 to go in the first quarter.
The Bucs went three-and-out on their following drive and Brady started the game 0-for-4. The Rams started their second drive of the game at their own 29 after Pinion's 51-yard punt.
A defensive pass interference call on Jamel Dean helped the Rams convert a 2nd and 1 and also gave LA a fresh set of downs at the Tampa Bay 46. Ndamukong Suh was hit with a taunting penalty a couple plays later that set the Rams offense up with a 1st and 10 at the Bucs' 19.
Akers' nine-yard run and then Stafford's two-yard run set the Rams offense up with a 1st and goal from the Tampa Bay 7 and then Stafford connected with Kendall Blanton for a seven-yard touchdown on the very next play to increase LA's lead 10-0 with 3:28 left in the first quarter.
Tampa Bay's subsequent drive started off with a 12-yard catch-and-run by Fournette and then Brady avoided pressure to find Rob Gronkowski for a 29-yard catch-and-run of his own to the Los Angeles 33.
But the Bucs offense couldn't gain more than five-yards after that play and had to settle for a Ryan Succop field goal. Succop's 45-yard attempt was good and the Bucs now trailed, 10-3, with :32 left in the first quarter.
Pinion's kickoff went out of bounds, which gave the Rams excellent field position at the 40 to start their third drive of the game.
Vita Vea came through with a huge sack on 2nd and 10 to force a 3rd and 20, but it didn't matter. Stafford found a wide-open Cooper Kupp for a 70-yard touchdown that made it a 17-3 game with 14:17 to go in the second quarter after Gay's PAT went through the uprights.
Tampa Bay's next drive started at their own 14 after Jaelon Darden's four-yard return. The Bucs went three-and-out and had to punt the ball back to the Rams' red-hot offense.
The Rams started at their own 49 after Brandon Powell's 21-yard return, but the Bucs defense held its own and forced a three-and-out.
Tampa Bay barley avoided disaster as Powell couldn't stop Johnny Hekker's punt at the 1. Instead of starting three feet outside of their own end zone, the Bucs set up shop at their own 25 in dire need of a touchdown.
It looked as if the Bucs were about to go three-and-out again, but Brady connected with Mike Evans for nine-yards on 3rd and 7. The duo connected again on a 3rd and 6 about three plays later for 21-yards to move into Rams territory.
A seven-yard pass from Brady to Evans gave the Bucs a 2nd and 3, but Brady was hit with an unsportsmanlike conduct penalty as he tried to explain Von Miller's head-to-head hit on the play. The flag forced the Bucs into a 2nd and 18, but Leonard Fournette hauled in a beautiful, one-handed catch to give the Bucs a 1st and 10 at the Rams' 31. But, three straight, incomplete pass attempts left Succop with a 48-yard field goal attempt that he could not convert and the Bucs gave the Rams the ball back at the LA 38, with 9:00 left in the first half.
Tampa Bay had a chance to force a three-and-out, but Mike Edwards couldn't tackle Akers before he converted the first down. The Bucs had another shot to end the Rams' drive on a later 3rd and 5, but Tyler Higbee's six-yard reception moved the chains. The Rams continued to move the ball, but the Bucs defense made some nice back-to-back plays and eventually made the Rams settled for a 40-yard Gay field goal attempt. Gay's kick was good and the Rams now led, 20-3, with 2:19 left in the first half.
Brady was sacked by Aaron Donald on first down and that killed any hopes of points before halftime. The situation became even worse when Brady was picked off by Nick Scott on the following play. The Rams took over at the Tampa Bay 31 with a chance to put the game out of reach before halftime.
Injury was added to insult as Carlton Davis III was hurt while trying to tackle Akers on the first play of the Rams' new drive. Seven- and 11-yard completions to Higbee and Van Jefferson gave the Rams a 1st and goal from the Bucs' 6, but Akers fumbled the ball and the Bucs recovered, which killed any chance at extra points for the Rams.
The only problem was LA was set to receive the ball after halftime. Could the Bucs muster up enough courage and determination for a second-half comeback?
A 17-yard OBJ reception on 2nd and 8 made it look like the Rams offense was about to pick up where it left off, but a three-yard loss on an Akers run and a false start penalty left the Rams with a 3rd and 5 on their first drive of the second half. LA couldn't convert and had to punt the ball away.
But Hekker's punt was a good one and left the Bucs with a 1st and 10 at their own 5 to start their first drive of the second half.
The Bucs went three-and-out, but the Rams continued to press as Powell returned Pinoin's punt for 33-yards to the Tampa Bay 28. A 17-yard pass to Blanton and a four-yard pass to Kupp placed the Rams at the Bucs' 13 with a fresh set of downs. The Bucs were able to force the Rams into a 3rd and goal from the Tampa Bay 1, but Stafford sneaked it into the end zone and Gay's PAT made it a 27-3 game with 7:11 to go in the third quarter.
Gronkowski's 42-yard reception on 2nd and 12 gave the Bucs a small bit of life as they were given a 1st and 10 at the LA 23. An 11-yard hookup with Evans a couple plays later set the offense up with a new set of downs at the LA 12, but the Bucs couldn't go much further and had to settle for a 31-yard field goal attempt from Succop. The kick was good and the Rams now led, 27-10, with 3:02 left in the third quarter.
Tampa Bay's defense came up with a huge turnover when Sean Murphy-Bunting forced a Kupp fumble and returned it 10-yards to the LA 30. The Bucs gained just one-yard before facing a 4th and 9. Fortunately, Scotty Miller came up with a 16-yard grab to move the chains and set the offense up with a new set of downs at the Rams 13.
Tyler Johnson's nine-yard reception a couple plays later allowed the Bucs to reach the Rams' 1 in a goal-to-go situation with :19 left in the third quarter. Fournette scored off the right side to make it a 27-13 game after Succop's kick with :12 to go in the third quarter.
Tampa Bay's defense forced a three-and-out on the Rams' following drive, which is exactly what the Bucs needed, but Miller strip-sacked Brady on the first play of Tampa Bay's subsequent drive and the Rams recovered the ball.
Stafford and Co. took over at the Tampa Bay 25, but Allen's snap sailed over Stafford's head and the Bucs recovered the ball at the LA 45.
All of a sudden, when it looked like the Bucs were done, they had new life.
Gronk's 13-yard reception and Fournette's five-yard reception moved Tampa Bay down to the LA 27 and into field goal range, but Brady was sacked on 3rd and 5 for a loss of nine-yards. Leonard Floyd's sack forced the Bucs out of field goal range and into a 4th and 14.
The Bucs couldn't convert. The only good development from the situation was that the Rams were flagged with a 15-yard personal foul penalty on Evans that made the Rams offense start at their own 21 instead of their own 36.
The Rams were able to drive into field goal range, but Gay couldn't finish the drive and missed his 47-yard attempt, which kept it a two-score game with 6:30 left in the game.
The Bucs' following drive started off with gains of nine- and six-yards that were followed up by a 16-yard DPI call on Darious Williams. But the Bucs quickly faced a 3rd and 6 a couple of plays later that they couldn't convert.
In fact, they lost three-yards on the play. Tampa Bay couldn't convert the 4th and 9 and that was pretty much it for the Bucs unless something crazy happened over the final 4:26 of the game.
Well, something crazy did happen. Evans was able to break free of Jalen Ramsey's coverage for a 55-yard touchdown to make it a 27-20 game with 3:20 to go after Succop's PAT.
All of a sudden, the Bucs had a shred of life. But, they had to make LA go three-and-out or else the game was over considering they had no timeouts left at this point.
And then, things got even crazier.
Akers fumbled for the second time on 2nd and 7 as Ndamukong Suh stripped the ball and Lavonte David recovered, which gave the Bucs the ball at the Rams 30 with 2:25 left in the game.
Cameron Brate's nine-yard reception on 3rd and 10 placed the Bucs into a 4th and short from the LA 9 a few plays later. The officiating crew reviewed the play and determined that it was just short of the first down marker.
It didn't matter, however, as Fournette took the following handoff nine-yards and into the end zone with :42 left on the clock. Succop's PAT made it a 27-27 game and the Rams had just one timeout left.
Stafford was sacked on first down, which forced a 2nd and 11, but the Rams had plans to keep driving as they too their final timeout.
Satfford then hit Kupp for 20- and 44-yards to give the Rams a shot at winning the game with a field goal.
Gay hit the 29-yard attempt and ended the Bucs' season by a final score of 30-27.
Stay tuned to AllBucs for further coverage of the Tampa Bay Buccaneers, and other NFL news and analysis. Follow along on social media at @SIBuccaneers on Twitter and Tampa Bay Buccaneers on Sports Illustrated on Facebook.