After getting back on track with a 30-7 win over the Giants last week, the 5-6 Bucs were in Charlotte to kick off December against the 3-8 Panthers. With the Falcons losing in the 1:00 window to fall to 6-6, Todd Bowles’ team had a chance to pull even atop the NFC South by the end of the day Sunday (though Atlanta holds the tiebreaker).
It sure wasn’t easy, as Tampa Bay trailed for much of the game and needed some breaks in the form of two missed field goals and a questionable non-touchdown call at the end of the first half. But after giving up a go-ahead touchdown with 30 seconds to go, the Bucs got a 51-yard field goal from Chase McLaughlin right at the death to force overtime. Then, after failing to score on the opening possession of overtime, Tampa Bay got a huge forced fumble from Anthony Nelson to keep its hopes alive.
Set up by big plays from Mike Evans and Rachaad White, McLaughlin went on to nail the game-winning field goal from 30 yards out. In the end, the Bucs got the job done and beat the Panthers 26-23 in overtime, getting back to .500 for the first time in over a month. The narrow win also marks the first time they’ve won back-to-back games since Weeks 1 and 2.
Here’s a recap of all the action from Sunday’s wild win at Bank of America Stadium:
Bucs 26, Panthers 23 (OT)

Bucs WR Mike Evans and Panthers CB Jaycee Horn – Photo by: USA Today
It was a slow start on offense for both teams, as the Panthers and Bucs traded three-and-outs to get the game going before Carolina went three-and-out again on its second possession.
A short kick gave Tampa Bay good starting field position at its own 37, then Rachaad White got the ball near midfield on a first down run for 11 yards. A 21-yard screen to Sterling Shepard set up another first down – this one at the Carolina 31 – before runs of 11, four and two yards set up a 3rd & 4. The Bucs came up just short, but then converted on 4th & 1 to set up 1st & Goal.
Mike Evans went on to draw a defensive pass interference penalty on 3rd & Goal, and two plays later with a fresh set of downs, Evans made a spectacular catch for a 2-yard touchdown. The 12-play, 63-yard drive took 6:06 off the clock and gave the Bucs a 7-0 lead. With his 25th touchdown pass of the season, Mayfield joined Tom Brady as the only quarterbacks in Buccaneer history to throw for 25 scores in consecutive seasons.
The Panthers answered back on their next drive, with Bryce Young finding Jonathon Brooks for an 18-yard gain and Xavier Legette for 13. But after a third-down stop by Mike Edwards and Antoine Winfield Jr., Carolina settled for an Eddy Pineiro 47-yard field goal to get within 7-3.
Tampa Bay had to punt the ball away again on its next possession just as the first quarter came to an end with the visitors up 7-3.

Panthers QB Bryce Young – Photo by: USA Today
Early in the second quarter, the Panthers put themselves in position to take the lead thanks to a blown coverage that led to a 38-yard catch by Tommy Tremble. But the Bucs ended up forcing a field goal try, and the game stayed at 7-3 after Pineiro missed from 38 yards out.
The Tampa Bay offense continued to sputter after the missed kick, with a holding penalty on Graham Barton and a Jadeveon Clowney sack pushing the Bucs back to a 2nd & 33. The drive went nowhere from there, and Gill made matters worse with a 22-yard punt. That set the Panthers offense up with a first down at the Buccaneer 36.
Carolina cashed in on the field position, too. After an 8-yard run by Chuba Hubbard and a penalty on Winfield, Young scrambled for a 10-yard touchdown on a 3rd & 6 to give the Panthers a 10-7 lead with 7:45 to go in the first half.
Irving ran for 12 yards to open the next offensive drive for the visitors, but he was then dropped for a loss of three on the very next play before a timeout. Out of that timeout, a false start on Jalen McMillan set the Bucs back to 2nd & 18. But Mayfield and Evans reignited the offense, linking up for gains of 18 and 27 yards to the Carolina 21-yard line. Irving then took a screen for 16 more yards to set up 1st & Goal from the 5.
But after a 1-yard run on first down, a drop and a false start from Shepard on back-to-back plays killed the Bucs’ momentum. They settled for a 27-yard field goal from Chase McLaughlin, getting the game even at 10-10 with 3:39 left in the half.
The Panthers went right back to work, with Adam Thielen catching a 16-yard pass right off the bat to get near midfield before Yaya Diaby was called for a ridiculous roughing the passer penalty to get the ball into Tampa Bay territory just ahead of the two-minute warning. But Carolina went on to miss yet another field goal from 45 yards out, keeping the game tied at 10.

Bucs QB Baker Mayfield – Photo by: USA Today
But Mayfield turned right around and gave the Panthers another chance, throwing an interception to Chau Smith-Wade.
Then, for whatever unknown reason, Todd Bowles continuously gave Young and the Carolina offense free yards when they were out of timeouts, playing off-coverage and giving up the easy sideline routes. That nearly led to a touchdown, as Adam Thielen appeared to have hauled one in just before halftime. But the call on the field was an incomplete pass and it was determined that there wasn’t enough evidence to overturn the call, so the turnover turned into a 13-10 lead at the break rather than a 17-10 advantage for the home team.
The second half didn’t start any better for Tampa Bay. After a first-down throw from Mayfield to Evans, the drive soon ended in a punt. And even after the defense forced a Carolina punt, the Bucs saw their season take a turn. Mayfield was sacked on back-to-back plays, with the second sack resulting in an injury.
After Carolina went three-and-out again, Kyle Trask entered the game for the injured Baker Mayfield. A 4-yard Irving run and a 5-yard pass from Trask to Irving set up 3rd & 1, then Mayfield returned to the game and promptly threw his second interception of the day on his first play back. Xavier Woods picked the pass off and ran it back 33 yards to the Tampa Bay 20.
Tampa Bay’s defense stood tall, though, letting Carolina get to 1st & Goal before stepping up and holding the home team to a field goal. That made it 16-10 with 19 seconds left in the third quarter, but the Bucs were at least still within a single possession.

Bucs RB Bucky Irving – Photo by: USA Today
The next Buccaneer drive took the game to the fourth quarter, and it began with a lot of Bucky Irving. He ran for four, six, five and seven yards to move the chains twice and get the ball into Panthers territory, then Mayfield hit Irving on a screen for another 12 yards. Two plays later, Irving picked up another 10 yards on the ground to set up a first down at the Carolina 22-yard line.
After a key 3rd-&-6 conversion on a screen from Mayfield to Shepard, Irving finished off the drive that he carried, scoring from six yards out. With the PAT, the Bucs took a 17-16 lead with 8:53 to play. Tampa Bay also killed 6:26 off the clock with that drive, going 69 yards in 11 plays.
With a lead to work with, the Buccaneer defense went to work. Calijah Kancey registered his sixth sack of the season on the first play of the Panthers’ next drive, and though they got those nine yards back on the next play, Zyon McCollum knocked away Young’s third-down pass to force a punt.
Unsurprisingly, the Bucs kept feeding Irving to start their next drive. He ran for gains of five and two yards to set up 3rd & 3, then Mayfield connected with Evans for 10 yards to keep the drive alive and keep the clock running. Then, it was back to Irving. He ran for four yards, then broke free for a 43-yarder to go well over 100 yards for the first time in his career. But on an eventual 3rd & 1, Rachaad White was dropped for a loss of six and Tampa Bay had to settle for a McLaughlin field goal. That made it 20-16 with 3:05 to go.
Trenton Gill then gifted the Panthers great starting field position, kicking the ball short of the landing zone on the ensuing kickoff. That set Carolina up at its own 40 with one timeout plus the two-minute warning to work with. Hubbard got the ball across midfield just after the two-minute warning, then a pass to David Moore got the drive to the Buccaneer 41. After a 14-yard pass to Tremble, Young found Thielen for a 25-yard touchdown to put the Panthers up 23-20 with 30 seconds to go.

Bucs QB Baker Mayfield – Photo by: USA Today
The Bucs got the ball back with a half-minute to work with and all three timeouts. The drive started well, with Mayfield finding Evans for a 17-yard gain. But after an incompletion, Mayfield had to scramble to get another 10 yards into Carolina territory. Two short passes to Shepard later, it was up to McLaughlin to send the game to overtime. Sure enough, his kick from 51 yards out was dead-on, tying the game at 23-23 and forcing overtime.
After losing the coin toss in their two previous overtime games this season and going on to lose both times, the Bucs won the coin toss this time around, meaning a touchdown on their first possession would win the game.
An unnecessary roughness penalty called on Carolina on the opening kickoff helped Tampa Bay, as it started from its 34. A 22-yard pass to Jalen McMillan got the drive going, but a second-down sack set the Bucs behind the sticks. They ultimately settled for a 55-yard field goal try for the lead, but McLaughlin couldn’t connect and it stayed 23-23, giving the Panthers a chance to win it with a score of any kind.
A crazy one-handed catch by Thielen converted a key third-down and got Carolina in field goal range, but then Anthony Nelson made what might prove to be the biggest play of the Bucs’ season. He forced a Chuba Hubbard fumble, which Yaya Diaby recovered to give Tampa Bay new life.
A 21-yard pass from Mayfield to Evans instantly got the drive going in the right direction, then Rachaad White broke loose for a 38-yard run to the Carolina 10-yard line. After centering the ball, Tampa Bay sent McLaughlin out to nail the game-winning 30-yard field goal.
Took a little extra time, but we got the W 🙌 pic.twitter.com/WoCHBvlcZb
— Tampa Bay Buccaneers (@Buccaneers) December 2, 2024

Bucs QB Baker Mayfield – Photo by: USA Today
Baker Mayfield wasn’t at his best on Sunday, completing just 21 of his 33 passes for 235 yards, a touchdown and two interceptions. But after having his ankle stepped on in the third quarter, he grinded it out late to lead the game-tying touchdown drive with under a minute to go. Mike Evans recorded his first 100-yard game of the season, catching eight of his 12 targets for 118 yards and a touchdown.
But the story was really the Bucs run game. Bucky Irving was the star for much of the day, especially in the fourth quarter. Overall, he ran for a career-high 152 yards and a touchdown on a career-high 25 carries (6.1 avg.). That marked the rookie’s first 100-yard rushing game. Irving also caught three passes for 33 yards. Rachaad White was key as well, as his 38-yard run in overtime set up the winning field goal. On the day, he ran for 76 yards on 11 carries (6.9 avg.).
The Buccaneer defense faltered late once again and nearly did so again even after the offense forced overtime, but Anthony Nelson’s forced fumble may very well have saved the season. Calijah Kancey got the team’s only sack of the day as Bryce Young had something of a coming-out party, going 26-of-46 for 298 yards and a touchdown. The second-year quarterback showed incredible poise in leading the go-ahead touchdown drive late in the game.
The Bucs (6-6) will now return home next Sunday to host the Raiders (2-10) in what will be a must-win game. Kickoff is set for 1:00 p.m.