After an offseason of transition and national talk about how they were destined for a top-five pick in the 2024 Draft, the Bucs began their season by silencing some doubters. Tampa Bay went on the road to Minnesota and emerged from one of the league’s tough environments with a 20-17 victory over the Vikings.
The game began with the Bucs defense showing out against Kirk Cousins and the Minnesota offense. The Vikings went three-and-out on their first drive before putting together a solid second possession. Only it ended with a fumbled snap exchange outside of the red zone, which Joe Tryon-Shoyinka recovered to keep the game scoreless.

Bucs S Antoine Winfield Jr. and OLB Joe Tryon-Shoyinka – Photo by: USA Today
On the next Vikings drive, Antoine Winfield Jr. came flying in on a blitz, getting to Cousins for a sack-fumble that the fourth-year safety recovered himself. That led to the game’s first points, which came on a 36-yard Chase McLaughlin field goal after a four-play, zero-yard drive. Still, it was a 3-0 lead for Tampa Bay late in the first quarter.
After another Minnesota three-and-out, Baker Mayfield and the Bucs offense continued to struggle. They went three-and-out themselves, and it was then that the Vikings finally put something together on offense. In what became something of a theme throughout the first half, Justin Jefferson exposed Tampa Bay’s zone defense and picked up a big 25-yard gain to get the drive going. The bigger play came on the touchdown, though, with Cousins finding rookie Jordan Addison for a 39-yard touchdown.
Tampa Bay’s offense really failed to get anything going for much of the first 30 minutes of the game. But two drives after a Greg Joseph field goal made it 10-3, the Bucs found some life.
They converted on a third down for the first time on the afternoon, and that sparked the drive. Mike Evans then made his first catch of the day for nine yards, then he capped off the drive by catching a 28-yard touchdown pass from Mayfield. With the McLaughlin extra point, the Bucs pulled even with the Vikings at 10-10 with 1:09 left in the half.

Bucs NCB Christian Izien – Photo by: USA Today
Minnesota threatened to take the lead right back, with Jefferson once again running through the Bucs’ zone defense for a 42-yard pickup. But just as it looked like the home team was going to grab momentum back, rookie Christian Izien came up with an interception at the 2-yard line. He was in the right position to the steal the ball away from K.J. Osborn right near the goal line, keeping it a tie game heading into the locker room.
Out of halftime, the Buccaneer offense began to look more confident. Mayfield converted a 3rd & 6 with an 11-yard pass to Evans, then made a nice play by throwing out of a sack to Rachaad White, who picked up eight yards. A 13-yard pass to Cade Otton and another third-down conversion — this one to Deven Thompkins — got the Bucs just outside the red zone at the 21-yard line. After a bad drop by Evans, the drive ultimately stalled there. Or at least that’s what it looked like until an offsides penalty against Minnesota gave Tampa Bay a first down at the 8-yard line.
Three plays later — on another third down — the Bucs took advantage of the new life. Mayfield surveyed the field and eventually found rookie Trey Palmer for a seven-yard touchdown, which gave the Bucs a 17-10 lead. That drive lasted 16 plays and 75 yards, and it took 8:59 off the clock.

Vikings QB Kirk Cousins – Photo by: USA Today
But as impressive as that drive was, Minnesota came right back with a 16-play drive of its own. They took the last 6:01 off the clock in the third quarter before appearing to come up short on a 3rd & Goal early in the fourth. Yet the home team got the benefit of a ticky tack defensive pass interference call against Christian Izien, which meant a fresh set of downs. A couple of plays later, Cousins found Alexander Mattison for a four-yard touchdown. At the end of a 16-play, 75-yard drive that took 7:24, the Vikings pulled even with the Bucs at 17-17.
From there, the teams traded three-and-outs. So, with 9:56 to go, the stage was set for a potentially dramatic finish.
Todd Bowles made a stunning call on the offense’s ensuing possession, electing to go for it on 4th & 1 at the team’s own 32. It paid off, too, as Mayfield snuck through for a first down. After another first down, Tampa Bay couldn’t move the chains again. Bowles then made another surprising call, sending the field goal unit onto the field on 4th & 3 for a 57-yard field goal attempt. That decision paid off too, with McLaughlin getting enough of it to connect and give the Bucs a 20-17 lead with 5:10 to go.
Bowles’ defense rose to the occasion on the next possession, forcing a three-and-out thanks to a tackle for loss by Lavonte David and a diving pass breakup by Carlton Davis on third down. With just under four minutes left, Tampa Bay’s offense got the ball back.

Bucs QB Baker Mayfield – Photo by: USA Today
From there, Mayfield and the offense never gave the ball back. The journeyman quarterback scrambled to move the chains for a first down on one 3rd & 2, then he iced the game on a 3rd & 10 after the two-minute warning, finding Chris Godwin for another first down. After a few kneel-downs, the celebrations were on for the visitors.
Mayfield finished the game 21-of-34 for 173 yards and two touchdowns, with Evans being his top receiver to the tune of six catches for 66 yards and a touchdown. Devin White was all over the field with 12 tackles, while Antoine Winfield Jr. and Anthony Nelson both tallied sacks.
Justin Jefferson was held in check over the final two quarters after posting seven catches for 138 yards in the first half. He was held to 12 yards on two catches over the final 30 minutes.
Tampa Bay was outgained 369-242 in the game, but won the turnover battle 3-0. That was the difference as Todd Bowles’ team started off the season 1-0.
Now, the Bucs will head back to Tampa for their home opener next week, hosting the Bears with a chance to start 2-0 for the third straight year. Kickoff is set for 1:00 p.m.