The Bucs won the toss to start the game and elected to receive. The first offensive play of 2019 was a four-yard run by Peyton Barber. It would be a slow start from there with the San Francisco 49ers defense forcing a three-and-out. The kick was blocked and although recovered by the Buccaneers, failed to get to the line of gain, turning the ball over on their own 33-yard line.
San Francisco tight end George Kittle picked up a quick first down on a 19-yard pass from quarterback Jimmy Garappolo. A touchdown again to Kittle was called back on an offensive pass interference call before ultimately being held to a field goal. Kicker Robbie Gould was good from 29 yards and the 49ers went up 3-0 with 11:08 left in the first quarter.
On the Bucs' next possession, a long pass intended for wide receiver Mike Evans down the near sideline fell incomplete, but not without a lot of contact from San Francisco cornerback Richard Sherman. Nothing was initially called before Head Coach Bruce Arians threw the red challenge flag, indicating he felt there was pass interference. The Bucs ultimately won the challenge, advancing the drive with a first down. Tampa Bay was helped later in the drive when the 49ers were called for defensive holding on third-and-10. Even with the aid in penalties, the Bucs would stall right around midfield. A good punt from Bradley Pinion would pin the 49ers inside their own 10 to start the next drive.
The Buccaneer defense returned the favor after a big third-and-one stop by defensive tackle Ndamukong Suh. Garappolo handed the ball off to running back Tevin Coleman who was stopped in the backfield as Suh blew through the line and brought him down.
The Bucs took over and on third-and-three, Winston took the ball himself. Upon sliding, he took a helmet-to-helmet hit with former Buccaneer linebacker Kwon Alexander with an ensuing scuffle. Alexander was hit with a personal foul penalty and ejected from the game, cutting his return to Tampa Bay short. What looked like an ensuing Buccaneer touchdown on a screen to tight end Cameron Brate was called back on a questionable holding call. Running back Ronald Jones made up for it with an 18-yard run to set up first-and-goal at the nine-yard line. A second touchdown in which Brate leapt up in the back of the end zone was called back on another holding call, setting up third-down and 19. Winston fired a pass off to tight end O.J. Howard who caught and then fumbled the ball, turning it over at the San Francisco eight-yard line forcing another empty possession for the Tampa Bay offense.
On San Francisco's next drive, cornerback Vernon Hargreaves jumped a route intended for Tevin Coleman and picked off Garappolo, running the ball back 15 yards for the pick six. After the good extra point by kicker Matt Gay, the Bucs took their first lead of the game, 7-3, with 8:41 left in the second quarter.
After getting just past midfield, the 49ers would be advanced by a defensive holding penalty, setting them up with a fresh set of downs at the Tampa Bay 31. Another two touchdowns were called back because of penalties and the 49ers were forced to settle again for a field goal. Gould was good from 36 yards and the Niners closed the lead to 7-6 with 2:57 remaining in the half.
The first pass of the Bucs next drive went off the hands of tight end O.J. Howard. The ball was intercepted by linebacker Mark Nzeocha and San Francisco took over at the Tampa Bay 29-yard-line.
A sack by Shaq Barrett followed by a tackle at the line from Lavonte David brought up third-and-19 for the 49ers. Garappolo fired off a pass for rookie Deebo Samuel who caught the ball then promptly coughed it up. Cornerback Carlton Davis was there on the recovery, preserving the Bucs 7-6 lead going into the half.
San Francisco was productive on their first drive of the second half. After a defensive pass interference call helped them down the field, Garappolo hit wide receiver Richie James Jr. on a 39-yard touchdown pass to put the 49ers up 13-7.
The next possession ended as quickly as the last before the half as Winston was picked off again, this time by cornerback Richard Sherman who ran the ball in for a touchdown. The Niners took a 20-9 lead with 11:44 left in the third quarter.
Finally, the Bucs offense got into a rhythm. A big catch and run by wide receiver Chris Godwin followed by a good run by Ronald Jones got Tampa Bay into the red zone. Winston faked the handoff to Jones before firing into the end zone and connecting with Godwin for the touchdown. The point after was good and the Bucs re-took the lead 20-14 with 5:43 left in the third.
After giving up a couple big first-down runs to running back Matt Breida, the Bucs were able to stall the 49ers and force them into attempting a 57-yard field goal. It went off the bottom cross bar and bounced back into the field of play, keeping the Bucs within a score and giving them good field position as they start at their 47-yard line.
Behind a couple big runs from running back Ronald Jones and a 15-yard completion to tight end O.J. Howard, the Bucs were set up with a first-and-goal at the nine-yard line on their ensuing drive. An intentional grounding penalty backed them up and they found themselves in a fourth-down and four situation. The field goal unit came out but a neutral zone infraction by the 49ers pushed them up half a distance to the goal. Coach Arians then decided to go for it as Winston tried for a dart over the middle to wide receiver Chris Godwin. The pass was broken up and San Francisco took over on downs at their own two-yard line with the Bucs still trailing 20-14.
The 49ers were hit with another couple of penalties bringing up third-and-18 at the four-yard line. Rookie linebacker Devin White came in on the tackle and San Francisco would fail to convert. The Bucs took over with good field position at the 49ers 41-yard line.
The Bucs got as close as the six-yard-line before Winston was sacked by rookie Nick Bosa for the second time on the night. The Bucs settle for a field goal from Gay, who cuts the 49ers' lead to three points, 20-17 with 4:47 left to play.
The 49ers turned their last drive into a field goal, marching down the field before being stopped on third down by the Bucs defense at the 29-yard line. Gould's 47-yard field goal was good to extend the Niners' lead to 23-17.
Needing a touchdown with just over two minutes to play, Winston's first pass was intercepted by cornerback Ahkello Witherspoon and ran back in for a touchdown, putting San Francisco up 29-17 just before the two-minute warning. The 49ers called a timeout and in the end, decided to go for two instead of kicking the extra point. They converted to go up 31-17, leaving 2:01 on the clock.
The Bucs wouldn't be able to do anything on their next drive. San Francisco then took a couple of knees to run the clock out and seal the 31-17 loss for Tampa Bay.