Brandon Aiuyk now owns the longest touchdown strike of the season, scoring on a 76-yard reception from Brock Purdy.
Buccaneers punter Jake Camarda dropped a punt out of bounds at the 2-yard line. Three plays later, the 49ers were in the end zone. Christian McCAffrey ran for 1 yard before George Kittle caught a 21-yard pass.
That set up the bomb from Purdy to Aiyuk, giving the 49ers breathing room, up 20-7 with 10:54 remaining in the third quarter.
Bucs defensive back Jamel Dean was injured on the play, while trying to cover Aiyuk. He was carted off and was ruled out with a foot/ankle injury.
Aiyuk now has five catches for 156 yards and a touchdown.
Purdy is 16-of-19 for 261 yards and two touchdowns.
It is the second consecutive week the 49ers have scored quickly in the second half. They led 13-3 at halftime last week before Purdy hit Kittle for a 66-yard touchdown on the second play of the second half as the 49ers blew out the Jaguars 34-3.