The decisive basket gave Oladipo the 1,000th point of his career and boosted Indiana to its first victory at Breslin Center in 22 years.
Oladipo ended with 19 points, nine rebounds and five steals. Cody Zeller also went past the 1,000-point mark with a 17-point performance for Hoosiers (24-3, 12-2 Big Ten).
The key victory gave Indiana a one-game lead over the Spartans atop the Big Ten standings and strengthened its case for a No. 1 seed in the NCAA tournament.
Jordan Hulls drained four 4-pointers on his way to 12 points and Christian Watford also put in 12 for the Hoosiers.
Michigan State (22-5, 11-3) was dealt its first loss since Jan. 27. The Spartans got 19 points from Gary Harris and 17 from Adreian Payne.