Branden Dawson scored 20 points on 7- of-9 shooting to lead 12th-ranked Michigan State past Purdue, 78-65, at Mackey Arena.
Derrick Nix and Keith Appling scored 17 points apiece and Adreian Payne finished with 12 points for the Spartans (20-4, 9-2 Big Ten), who have won nine of their last 10 overall.
Terone Johnson scored 20 points, Ronnie Johnson had 15 and A.J. Hammons registered 13 points for the Boilermakers (12-12, 5-6), losers in three of their last four.
Back-to-back jumpers from Nix ignited a 24-10 run to put the Spartans up 31-18 with just under five minutes left in the first half.
Purdue, though, scored the final five points of the half to go into the break trailing 31-23.
Michigan State opened the second half with a 12-5 surge to push its lead to 43-28. The Boilermakers, though, managed to cut the deficit to 53-43 with 9 1/2 minutes remaining.
Michigan State outscored Purdue, 25-22, the rest of the way. With the win, the Spartans take half-game lead over No. 1 Indiana in the Big Ten standings. The Hoosiers will face 10th-ranked Ohio State in Columbus on Sunday.