P.J. Hill Jr. led the way with two touchdowns on 29 carries for 161 yards.
Lance Smith ran for one score; Paul Hubbard caught four passes for 80 yards; John Stocco completed 13 of 21 passes for 201 yards and one interception; and Travis Beckum added four receptions for 68 yards for the Badgers (7-1, 4-1 Big Ten).
Chris Summers kicked a 47-yard field goal to open the scoring; Chris Painter went 20-for-40 passing for 187 yards, no touchdowns and one interception; and Kory Sheets rushed for 57 yards on 10 carries for the Boilermakers (5-3, 2-2 Big Ten).
Purdue, which led the conference in total offense with 471.7 yards per game when the contest began, was held to 275 total yards.
Justin Bieber crashes Drake Bell's album release party
Putin thinks Obama would save him if he were drowning