Playing in front of 8,705 fans at the Breslin Center in East Lansing, the Buckeyes never got their offense on track in their Big Ten opener.
Ohio State (9-3) entered the game ranked 18th in the Associated Press poll after having led the Big Ten in scoring and field goal percentage during nonconference play, but the Buckeyes shot just 39.3 percent (22 of 56) against the conference's best field goal percentage defense.
The Spartans actually shot worse than their visitors, but a percentage of 35.8 (24 of 67) was offset by 15 second-chance points. The hosts also held an advantage in points off turnovers, 18-14. The Buckeyes scored just four second-chance points.
Ohio State tied a season-low with 11 assists, almost seven below their season average entering the contest.
Allyssa DeHaan led Michigan State with 18 points and also grabbed six rebounds. Four other Spartans had at least that many boards on the afternoon as the home team finished with a 44-35 edge in that category.
Dehaan, a 6-9 sophomore who entered the game leading the nation in blocked shots with 62, also swatted two shots and helped harass Buckeye center Jantel Lavender into a 4-for-14 shooting day.
Lavender, a 6-4 freshman and Ohio State's leading scorer on the season, finished with 11 points.
Freshman Kalisha Keane was the other Spartan to score in double figures as she finished with 16 points.
In a game pitting the Big Ten's preseason favorites, Ohio State led for almost all of the first 16 minutes despite struggling to keep the Spartans off the offensive glass or out of the lane.
Appropriately it was a stick-back by MSU's Lauren Aitch that snapped a 26-all tie with just over three minutes remaining in the first half.
That started an 8-1 run by Michigan State that ended when Packer hit a pair of free throws to set the halftime score at 34-29.
The second half was all Spartans. They scored 11 of the first 15 points after intermission to build a 12-point lead.
Ohio State trailed by as many as 13 before managing one late push.
Lavender completed a 10-1 OSU run with a jumper that got the Buckeyes within four, 54-50, with 6:30 to play, but the OSU offense ground to a halt at that point.
The Buckeyes missed six of their last seven shots, getting only a layup from Packer and a free throw from Lavender as the Spartans held on.