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 on Saturday.
Leuer and Taylor combined to shoot 16 for 27 from the field, but the rest of the Badgers were 8 for 32.