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.
Ohio crash that killed two caught on camera [VIDEO]
Mena Suvari shares her delightfully awkward Christmas card photo