No terms of the deal were disclosed for the 35-year-old Fitzpatrick, who appeared in six games with the Buccaneers last season and went 2-1 as a starter in place of Jameis Winston.
Fitzpatrick started all 16 games for the New York Jets in 2015, establishing career highs with 3,905 yards and 31 touchdowns. He started 11 of 14 games with the Jets the following season.
A graduate of Harvard, Fitzpatrick also started all 16 games for Buffalo in back-to-back seasons (2011-12), one of seven teams he has played for in his 13-year career.
Fitzpatrick has started 119 of 133 games while throwing for 26,991 yards with 173 touchdowns and 136 interceptions with the St. Louis Rams, Cincinnati Bengals, Bills, Tennessee Titans, Houston Texans, Jets and Bucs.