Michigan State's Lykendra Johnson missed a putback at the buzzer and No. 18 Iowa held off the 10th-ranked Spartans 66-64 Thursday night to move back to .500 in the Big Ten.

Kachine Alexander had 23 points and 11 rebounds to lead the Hawkeyes (16-5, 4-4 Big Ten), who withstood a frantic finish and picked up a win they needed to stay afloat in the conference race.

Michigan State got the ball with 9 seconds left down by two. Kalisha Keane, whose 3-pointer beat the Hawkeyes in East Lansing two weeks ago, missed one from nearly the same spot. Johnson then missed a short jumper, and her final shot went off the glass and rimmed out as the horn sounded.

Brittney Thomas had 17 points and Keane had 14 points and 10 rebounds to lead Michigan State (18-3, 6-2). All three of the Spartans' losses have come on the road against ranked teams.

Neither team led by more than six points all night, so it only figured that such a back-and-forth affair would come down to the finals seconds.

Thomas followed a 3 with a jumper to get the Spartans within 63-61 with 2:07 left. Keane then missed a 3 that would have given the Spartans the lead, and Kelly Krei answered by burying an open 3 from the corner that put Iowa ahead 66-61 with 54 seconds left.

But Keane redeemed herself with a long 3 at the other end, and Iowa ran the clock down to 9 seconds left without getting a shot off.

Jaime Printy and Krei each scored 11 for Iowa, which shot 50 percent from the floor.

Michigan State's defense, which entered tops in the Big Ten, held the Hawkeyes to just three points in 9 minutes early in the second half. The Spartans took advantage, turning a five-point deficit into a 46-40 lead on Thomas' layup with 10:07 left.

Iowa's offense sprung to life after that, though, reeling off a 15-4 run to grab the lead back.

Printy put Iowa back on top by stepping back and drilling a 25-footer from the top of the key, and Krei followed with a 3 on the next possession to give the Hawkeyes a 55-52 lead with 6:24 left.

Kamille Wahlin then found a trailing Alexander for a wide-open layup through the paint, pushing Iowa's lead to 59-54.

The Spartans opened the game with 10 points in just more than 2 minutes and appeared set to jump out to a big early lead. But the Hawkeyes hung around and capped the first half with a 9-1 run, as Kalli Hansen's late 3 put Iowa ahead 35-32.

Iowa had some open looks at the start of the second half that could have stretched that lead. The Hawkeyes couldn't knock them down, though, allowing Michigan State to tie it at 37.

The game was a rematch of the thriller at Michigan State, which the Spartans won with less than a second left.

Iowa rallied from an eight-point deficit in the final 2:01, tying the game when Wahlin banked in a long 3 with 10 seconds left. But Keane answered with a 3 from the corner to give the Spartans a 63-60 win.

That shot didn't fall for Keane on Thursday, and neither did Johnson's two chances to send the game into overtime.

Johnson shot just 3 of 13 from the field but grabbed 15 rebounds.