Percy Harvin ran for a touchdown, and Chris Leak threw two touchdown passes, one to Andre Caldwell, while going 21-for-34 for 283 yards for the Gators (11-1) -- who had to hold on to beat their in-state rival for the third straight year.
The last time Florida beat Florida State three straight was 1984-86.
The Gators meet Arkansas in the SEC title game next Saturday.
Harvin was carted off the field with 2:51 left in the second quarter with an apparent head or neck injury.
Drew Weatherford was 16-for-37 for 181 yards, one touchdown and three interceptions for Florida State. Lorenzo Booker rushed for 60 yards on 10 carries, while Chris Davis made six receptions for 85 yards for the Seminoles (6-6), who ended their season with four losses in their last six games.