JaJuan Johnson had 20 points and E'Twaun Moore scored 19 to help No. 11 Purdue beat No. 10 Wisconsin 70-62 on Wednesday night.
Lewis Jackson added 18 points and five assists for the Boilermakers. Jackson scored just one point when Wisconsin beat Purdue 66-59 at home on Feb. 1.
Purdue (21-5, 10-3 Big Ten) moved into sole possession of second place in the conference. The Boilermakers, now 14-0 at home, host league leader Ohio State on Sunday.
Johnson, who has scored at least 20 points in nine of his past 10 Big Ten games, also had 10 rebounds and four blocks.
Jon Leuer scored 23 points and Jordan Taylor added 15 for the Badgers (19-6, 9-4), who had won four straight — including a victory over then-No. 1 Ohio State at home on Saturday.
Leuer and Taylor combined to shoot 16 for 27 from the field, but the rest of the Badgers were 8 for 32.
A pair of free throws by Ryan Evans cut Purdue's lead to 58-56 with 3:55 to play, but Moore stopped the rally with a floater, then a 3-pointer that pushed it back to 63-56 with just more than 2 minutes left.
Wisconsin led 10-4 before Purdue responded with a 14-4 run. Moore gave Purdue its first lead with a 3-pointer after Jackson flipped the ball back to him on a fast break.
Leuer picked up his second foul with 7:42 left in the first half, and Wisconsin didn't make a field goal for nearly 4¼ minutes. A layup and 3-pointer by Jackson helped Purdue push its lead to 29-22, and the Boilermakers led 31-25 at halftime.
Early in the second half, Jackson got a steal and started a fast break. Moore took off from the side, cocked the ball behind his head with his right hand and slammed it home to give Purdue a 35-27 lead and send the crowd into a frenzy.
Purdue took off on another fast break, and Kelsey Barlow scored and was fouled. He converted the free throw to give the Boilermakers a 44-34 lead.
Leuer kept Wisconsin in the game. He scored seven points during a 9-2 run that trimmed Purdue's lead to 53-47.