A 37-yard touchdown pass from Ryan Fitzpatrick to Mike Evans closed the gap to 5 points with about 2 minutes left in the second half.
Cardinals cornerback Patrick Peterson had been covering Evans before Peterson left with an injury in the second half.
The touchdown gave the Buccaneers 33 second-half points and left the Cardinals clinging to 38-33 lead at the 2-minute warning.
Another Bucs TD, another missed 2-point conversion
The Buccaneers drove the ball down the field to answer the Cardinals touchdown late in the fourth quarter.
Buccaneers running back Doug Martin dove into the end zone with 3:28 left to trim the Cardinals lead to 38-26.