SAN DIEGO -- Rafael Gaglianone kicked three field goals, including the go-ahead 29-yarder with 2:27 to play, to give Wisconsin a 23-21 victory over USC tonight in the 38th Holiday Bowl at Qualcomm Stadium.
The Trojans had two chances to re-take the lead.
The first ended on the third play of the ensuing drive when Cody Kessler's pass was intercepted by Sojourn Shelton.
USC forced the Badgers to punt. Drew Meyer's 52-yard punt went into the end zone for a touchback, but the Trojans began the drive on their own 10-yard line because of Don Hill's unsportsmanlike conduct penalty.
USC drove to the 50-yard line, but turned the ball over on down after four consecutive incomplete passes.
The Trojans had taken a 21-20 lead with 10:19 to play on Kessler's seven-yard touchdown pass to Darreus Rogers.
USC (8-6) had been seeking to become the fourth team to win back-to-back Holiday Bowls. The Trojans defeated Nebraska, 45-42, in last year's game.
The Badgers (10-3) outgained USC, 394 yards to 221, and led 22-16 in first downs and 37:17-22:43 in time of possession.
Joel Stave completed 18 of 27 passes for 217 yards and one touchdown, in his 31st victory as Wisconsin's starting quarterback, breaking the school record for quarterback victories he had shared with Brooks Bollinger.
Kessler completed 18 of 32 passes for 221 yards and one touchdown, with one pass intercepted.
Following a scoreless first quarter, the Badgers took a 10-0 lead in the second quarter on Gaglianone's 28-yard field goal and Corey Clement's six- yard run.
Justin Davis ran one yard for the Trojans' first touchdown, 5:17 before halftime. Gaglianone kicked a 33-yard field goal with 26 seconds left in the first half.
Wisconsin drove 64 yards on 12 plays on its first possession of the second half, culminating in Stave's four-yard touchdown pass to Austin Taylor.
USC responded with a five-play, 55-yard drive, with Davis running the final four yards for the score.
The loss was the Trojans' second in their last eight bowl games. The Badgers won their second consecutive bowl following a four-game bowl losing streak.
USC lost three of its final four games to conclude the season. Wisconsin won seven of its final eight games.
Pac-12 Conference teams have a 5-2 record this bowl season, with the losses coming by the Trojans and their archival rival, UCLA. The 14-team Big Ten Conference has a 3-1 bowl record.
The Trojans were 25th in the College Football Playoff rankings issued Dec. 6. They were not in the Top 25 in The Associated Press media poll or USA Today coaches poll. Wisconsin was 23rd in the AP and USA Today polls.
The loss was USC's first to the Badgers after it won the first six games in the series. This was the first meeting between the teams since 1966.