Michigan State overcame a 13-point deficit in the first half and advanced to play Louisville on Sunday for a trip to the Final Four. The top-seeded Cardinals defeated Arizona 103-64 earlier in the night.
"Kansas is a very, very good team. I'm very proud of how our guys fought back," Michigan State coach Tom Izzo said.
Sherron Collins scored 20 points and Cole Aldrich had 17 points and 14 rebounds for Kansas (27-7).
Kansas led 60-57 when Michigan State's Durrell Summers was fouled. He made the first of two free throws, and the Spartans came up with the offensive rebound when he missed the second. Raymar Morgan, who hadn't made a basket the entire game, dunked to tie it at 60 with 1:46 to play.
On Michigan State's next possession, Lucas spun, pump-faked in the lane, drew contact from Collins, then dropped in a shot. He made the free throw to put the Spartans ahead 63-60 with 48 seconds left.
Kansas' Tyshawn Taylor made two free throws with 32 seconds left, then Lucas came back with two at the other end to make it 65-62.
Collins was fouled with 20 seconds to play. He missed the front end of a one-and-one, and Michigan State came up with the ball. Lucas made two more free throws with 14.4 seconds left to seal the game.
Kansas led 36-29 at halftime, but Michigan State started strong after the break. Draymond Green scored from in close and was fouled, and his 3-point play cut Kansas' lead to 40-39 just three minutes into the second half. Suton tied the game at 42 on a 3-pointer with just over 15 minutes remaining.