Jantel Lavender made one of two free throw attempts to break a 53-all tie with 1:50 to go, and the Buckeyes held on for a 54-53 upset in front of 7,029 at the Breslin Center in East Lansing.
Ohio State jumped out to a quick 4-0 lead on a pair of baskets by Lavender, but the game was tight throughout.
Only once did Michigan State take a two-possession lead, and the Buckeyes did not do so again until a Tayler Hill layup with 49 seconds set the halftime score of 30-26.
The teams combined for 18 turnovers in a sloppy first half, but Ohio State took advantage of the 10th-ranked Spartans' 10 miscues than vice versa.
The Buckeyes had a 9-0 advantage in points off turnovers.
They took their largest lead of the game with an Ashley Adams layup to start the second half, but the Spartans responded with a 10-3 run capped by an old-fashioned three-point play by forward Kalisha Keane.
Lavender answered with her own hoop and harm to restore Ohio State to a three-point lead, then Hill followed with a fast-break layup to give the Buckeyes a lead of 40-36 with 15:49 left, but there would be no running away and hiding.
Michigan State senior guard Cetera Washington scored the next six points of the game on drives against a defense sagging off her because of her suspect jump shot, and suddenly the home team had a two-point lead with 13:30 to play.
What ensued was a seesaw affair that included five more ties and one two-possession lead for Ohio State that lasted less than a minute.
Keane tied the game for the 14th and final time when she drew Ohio State point guard Samantha Prahalis' fifth foul on a layup at the three-minute mark, but the Spartan senior missed a chance to put her team ahead when her free throw attempt bounded off the rim.
Keane's basket came on one of 17 Michigan State offensive rebounds the Spartans were able to turn into only seven points.
The game remained tied at 53 through an empty possession by each team, then Lavender posted up fellow All-Big Ten forward candidate Lykendra Johnson and threw up a hook shot that was no good but drew a foul.
Lavender, who finished with a game-high 24 points, missed the first free throw but made the second to put the Buckeyes back on top for good.
Michigan State had one last chance to win the game after forcing a shot clock violation with 10.5 seconds left, but head coach Suzy Merchant had to put the ball in the hands of backup point guard Jasmine Thomas because starter Brittney Thomas fouled out with 3:45 left in the game.
Ohio State sophomore Amber Stokes harassed Thomas all the way up the floor, making her change direction twice and delaying her enough to prevent her from being able to use a ball screen that had been called for her at the top of the key.
Instead she had to settle for a last-second fall-away shot that bounced out off the rim and sent the Buckeyes streaming onto the court with their fifth win of the season against a ranked team.
The host Spartans (24-4, 12-3) were hoping to clinch their first outright Big Ten title with a win but had to wait until later in the evening when Purdue upset second-place Penn State to drop the Lady Lions two games out of first place with one to play.
Ohio State (18-9, 9-6) improved its chances of earning a bye in next week's Big Ten tournament. With one game left Sunday at home against Wisconsin, the Buckeyes could still finish in a tie for second place, and their season sweep of the league champions puts them in good position to win a seeding tiebreaker against a group of as many as six teams that could still all finish 10-6 in league play.
Johnson led the Spartans with 16 points and 17 rebounds.