Freshman Brandon Wilds ran for 120 yards as the No. 15 Gamecocks (8-2, 6-2 Southeastern) pounded the Gators (5-5, 3-5) and left themselves a chance to make it to a second straight SEC title game.
South Carolina led 14-3 after Shaw's sneak just before the half, but Florida rallied. A 2-yard touchdown run by Jacoby Brissett made it 14-12, but the Gators never threatened again.
The win gives South Carolina six SEC victories for the first time since joining the league in 1992. But the Gamecocks will need Georgia to lose to either Auburn on Saturday or Kentucky next week to win the SEC East.