Suryakumar Yadav's unbeaten fifty after a disciplined bowling show helped Mumbai Indians saw off Chennai Super Kings by six wickets to reach their fifth Indian Premier League final.
Rahul Chahar returned the figures of 2-14 from his four overs to restrict the defending champions to 131-4, which Mumbai surpassed with nine balls to spare.
Yadav top-scored with 71* to anchor Mumbai's chase.
"Three days now in which we can switch off before the final. Much needed break," said Rohit Sharma.
"I knew we have the bowlers to restrict them. Have the confidence in our batters as well. Was important to restrict them to as little as possible, because it can get tricky against their quality spinners."
The MS Dhoni-led Chennai still have a chance to qualify for the final when they face the winner of the eliminator in the second qualifier on Friday.
Chennai had their moments in the match after the bowlers removed Mumbai openers early. Sharma fell for four and Quinton de Kock for eight, inside four overs.
Imran Tahir also struck twice in successive deliveries to dent Mumbai's chase in the 14th over. But Yadav kept his cool and guided his side over the line. His 80-run third-wicket stand with Ishan Kishan (28) was crucial.
Mumbai pegged Chennai back to 32-3 after the hosts decided to bat first.
The 19-year-old Chahar first removed Faf du Plessis for six. Suresh Raina (5) and Shane Watson (10) soon followed Du Plessis in the dugout.
Ambati Rayudu (42) and Dhoni (37) put on an unbeaten 66-run fifth-wicket partnership to give the Chennai total some respect.
"Somebody has to lose, things really didn't go our way, especially batting," said Dhoni.
"These are the best batsmen we have got, it looks like we are batting well, but at times they pull off shots that shouldn't be played.
"Hopefully, we will do well in the next game."
Krunal Pandya and Jayant Yadav picked up a wicket each for Mumbai.