Rene Haynes had a steal and two free throws in the final seconds to help seal the victory for the Spartans (21-6, 11-3 Big Ten).
Ohio State (24-2, 13-1) was trying to clinch a share of its third Big Ten title in a row. But DeHaan negated two-time conference player of the year Jessica Davenport, who was in foul trouble throughout.
Down by as many as 11 early in the half, the Spartans drew to 55-54 on Victoria Lucas-Perry's reverse layup off an assist from DeHaan and a DeHaan bank shot over Davenport, who was carrying four fouls, with 1:33 left.
After Ohio State's Marscilla Packer missed her second 3-pointer in as many possessions, Michigan State brought the ball upcourt and called timeout with just over a minute remaining.
The Spartans worked the ball around the perimeter before feeding Haan, who hit a short turnaround with 47 seconds left. At the other end, the Buckeyes went immediately inside to Davenport who was fouled on a spin move 10 seconds later and hit both shots for a 57-56 lead.
On a drive, Aisha Jefferson missed but DeHaan grabbed the rebound and scored with just over 21 seconds on the clock.
The Buckeyes called timeout with 16.1 seconds left in front of their own bench.
Packer's pass for guard Ashlee Trebilcock was tipped away by Haynes, a Columbus native, who dived on the floor to grab the loose ball before being fouled by Trebilcock. Haynes then hit both foul shots with 13.5 seconds left for a 60-57 lead.
Packer, just 1-for-10 on 3-pointers, missed another shot behind the arc but Stephanie Blanton's follow cut the lead to a point with 3.1 seconds left.
DeHaan was fouled on the ensuing inbounds pass and hit both shots.
Packer's offbalance 3-pointer from 30 feet at the buzzer was just short and off the front of the rim.
Jefferson had 12 points and Haynes 11 for the Spartans, who have won six in a row.
Davenport, the conference's leading scorer at 19 a game, had 16 points and 11 rebounds. Her backup, Andrea Walker, added 10 points, seven rebounds and three assists.