The first drive stuttered on an incompletion to wide receiver Mike Evans along the left sideline. Quarterback Jameis Winston made up for it on the next play with a pass to tight end O.J. Howard for 16 yards and the Bucs first down. The running game then took the brunt of the responsibility on the soggy field but couldn't get the Buccaneers past the Miami 27. After a big third-down sack of Winston, the Bucs were forced to punt.
Miami started on their own 20 and a stop by safety Jordan Whitehead, who forced Isaiah Ford out of bounds after just a five-yard gain, brought up third down. Quarterback Josh Rosen attempted a pass to Preston Williams over the middle that was promptly dropped to force the Miami punt.
Running back Andre Ellington got all of the work on the next drive, starting with a quick screen followed by a two-yard run up the middle. Third down and quarterback Blaine Gabbert elected for the checkdown option again to Ellington, who caught the ball and ended up fumbling for the Bucs' first turnover of the game at the Tampa Bay 34-yard line.
Running back Mark Walton attempted a ball up the middle on the first play and was stopped short by Beau Allen. It's followed by a short pass over the middle to Walton, who's chased down by outside linebacker Carl Nassib for the first down. An unnecessary roughness call would move the Dolphins closer to the goal line before they got hit with a holding call themselves. An unsuccessful third down brought up 4th-and-two, which the Dolphins did not convert, turning the ball over on downs.
Miami forced a three-and-out on the next drive behind three incomplete passes from Gabbert. The Bucs punted from deep in their own territory and behind a big hit from cornerback M.J. Stewart, the Dolphins lost two on the return, starting at their own 38-yard line.
The Dolphins got as far as the Bucs' 27-yard line before they were stopped on third down on a big hit from Bucs cornerback Ryan Smith to force an incompletion on a pass intended for Preston Williams. The 45-yard kick was good and Miami struck first, going up 3-0 with 12:10 left in the second quarter.
Conservative play on the wet field resulted in another three-and-out for the Buccaneers, who punt it away.
Offsetting penalties negate a tackle for loss of Miami's Walton on first-and-10 once the Dolphins got the ball. Back-to-back sacks by outside linebackers Shaq Barrett and Pat O'Connor on second and third down force Miami to punt it away.
The Bucs got downfield in a hurry behind a 30-yard catch and run by wide receiver Bobo Wilson to put Tampa Bay at the Miami 15-yard line. Tight end Tanner Hudson made a defender miss and got the Bucs to the five-yard line. On fourth-and-one, running back Dare Ogunbowale powered forward to give the Bucs a fresh set of downs at the four-yard line. Gabbert took an untimely sack on third-down and the Bucs settled for a field goal as rookie kicker Matt Gay booted a 32-yarder to tie the game 3-3 with 2:33 left in the half.
Miami went nowhere on a curious set of runs with two minutes to play in the half and ended up being forced to punt, giving the Bucs the ball back with under a minute to play. They boot it right back behind a three-and-out and Miami took over with 30 seconds left before halftime.
With good field position, the Dolphins marched down and almost had a touchdown on a bobbled ball by Preston Williams. Instead, they settled for a 49-yard field goal and went up 6-3 as the half expired.
The Dolphins punted the ball away on their first possession of the second half, but a too many men on the field call on the Bucs gave Miami a second chance. A big third-down sack of quarterback Ryan Fitzpatrick by outside linebacker Demone Harris, aided by cornerback Sean Murphy-Bunting, forced the Dolphins to punt for real this time. It was a good punt and backed the Bucs up to their own 13-yard line to start their first offensive drive of the second half.
Ogunbowale got most of the work on the Bucs' next drive. He broke loose on a long run that was called back on a questionable holding call. Tampa Bay was forced to punt after failing to convert on a third-and-14.
The Dolphins were pinned deep in their own territory on the next drive. A facemask penalty helped get the Dolphins near midfield before an offensive holding call backed them back up. They were eventually forced to punt with 4:36 left to play in the third quarter on a big third-down pass breakup by inside linebacker Jack Cichy.
Third-down and one at the 42 and the Bucs went for it on a run by Andre Ellington. He couldn't quite power through the pile and the Bucs punted again with less than a minute left in the third quarter.
On the next series, it was nose tackle Terry Beckner Jr. that got a hand on the ball to force a third and long. Then it was Devante Bond who batted down the pass on third down to force the Dolphins punt.
The Bucs took over on their own 29-yard line. On third-and-11 under pressure, Griffin completed a long pass to wide receiver Justin Watson for 23 yards to keep the drive alive. On third-and-10, it was Ogunbowale with a big catch and run down to the Miami eight-yard line. The Bucs would end up settling for a field goal as kicker Cairo Santos hit a 23-yarder to even up the score again, this time at six apiece, with 9:56 left to go in the fourth quarter.
Miami was able to move down the field and an ill-timed roughing the passer penalty got them inside the red zone with quarterback Jake Rudock at the helm. Rudock went for the end zone and instead was picked off by rookie Jamel Dean in the back corner of the end zone for a touchback with 6:23 left in the game.
Behind a big 31-yard grab by tight end Tanner Hudson, the Bucs got into Miami territory quickly on the next drive. The Bucs challenged a defensive pass interference no-call on a pass intended for Justin Watson and won it. The next play, Griffin went to the air and hit tight end Tanner Hudson for a four-yard touchdown and Gay was good for the point after, putting the Bucs up 13-6 with 3:35 to go in the fourth quarter.
The Dolphins failed to convert a third-and-15 and punted from inside their own 20-yard line. Griffin took a sack on the first play to back the Bucs up nine yards. They were ultimately forced to punt and give Miami the ball back with just over two minutes to go.
On the return, the Bucs' Corey Nelson forced a fumble by Trenton Irwin but the ball fell right into Dolphin Chris Lammon's hands, who took it down to the Bucs' 41-yard line. Rudock was sacked by Farrington Huguenin on the first play for a loss of 10. The next play, however, went to Blacknall for 25 yards and the first down just outside the 10-yard line. Third-down and four and Rudock hit Patrick Laird for the touchdown. The Dolphins went for two and went to Trenton Irwin, who caught the pass and put the Dolphins up 14-13 with 34 seconds left.
Two big catches by tight end Tanner Hudson on the Bucs final drive set up a game-winning 48-yard field goal, which kicker Matt Gay hit to put the Bucs on top 16-14, where the score would remain.
The countdown to season kickoff is on! The Bucs are kicking off the NFL's 100th season with a FREE Tim McGraw pregame concert for all fans with a ticket to the home opener on Sept. 8! Get your tickets today.