Shaw had scoring throws of 39, 22 and 3 yards in a 22-of-25 passing day for 312 yards. He hauled in a 9-yard throw from Bruce Ellington for another touchdown and capped the day's scoring with a 1-yard run that allowed the Gamecocks to end the season 11-2.
Shaw connected with Ellington on a 39-yard play with 41 seconds to go in the first period to open the scoring.
Wisconsin (9-4) tied the score with Joel Stave's short pass to Sam Arneson.
Ellington passed to Shaw off a reverse for South Carolina's second score but the point after failed and Stave hit Jeff Duckworth with a 3-yard pass that allowed the Badgers to take a 14-13 lead into halftime.
Wisconsin pushed its lead to 17-13 with a Jack Russell field goal but Shaw again hit Ellington with a touchdown pass, and then found Jerell Adams with a 3-yard throw that put the Gamecocks up 27-17 with 11:05 to play.
Kenzel Doe returned the ensuing kickoff 91 yards for a Wisconsin score but Shaw ran in from 1 yard out for the final score.