Freeman completed 25-for-46 passes for 248 yards, three touchdowns and two interceptions for the Bucs (6-4), won their fourth straight.
The Panthers (2-8) lost for the seventh time in eight games as Cam Newton was held to 252 passing yards and a score on 16-for-29 efficiency.
Brandon LaFell made five catches for 93 yards and a score for Carolina.
N.J. man wakes up from 10-hour sleep with knife in back
Wisconsin business offering 'therapeutic cuddling' forced to close