Five-time champions Mumbai Indians thrashed Lucknow Super Giants by 81 runs to eliminate them from the Indian Premier League (IPL) and keep alive their own hopes of making the final.
Seamer Akash Madhwal claimed five wickets while conceding only five runs in his 3.3 overs to skittle out Lucknow for 101 in 16.3 overs after Mumbai had posted 182-8.
Mumbai will face champions Gujarat Titans on Friday for a place in Sunday's final against Chennai Super Kings.
Electing to bat first, Mumbai made a sprightly start but lost both their openers, skipper Rohit Sharma and Ishan Kishan, inside the powerplay overs.
Cameron Green (41) and Suryakumar Yadav (33) revived Mumbai but Naveen-ul-Haq (4-38) removed both in the same over to peg them back.
Mumbai milked 51 runs in the last five overs but still fell well short of the 200-mark, which had looked possible at one stage.
Madhwal had Lucknow on the back foot early and three run-outs effectively derailed their chase as Mumbai took charge.
Marcus Stoinis smashed 40 off 27 balls but collided with batting partner Deepak Hooda while running between wickets and his run-out triggered a collapse Lucknow could not stem.
"Madhwal has been awesome. The moment he came, we realised he is special," Green said of his Mumbai teammate.