Spinner Varun Chakravarthy took 2-17 as the Kolkata Knight Riders booked their playoff spot with an 18-run win over the Mumbai Indians in a rain-reduced IPL match.
Two-time champions Kolkata posted 157-7 as Venkatesh Iyer top-scored with 42 off 21 balls after being invited to bat first at their home Eden Gardens in a 16-overs-a-side match.
Bowlers combined to defend the total after Mumbai raced to 65-0 and Chakravarthy, a mystery spinner, got the big wickets of Rohit Sharma, who made 19 after coming in as impact substitute, and captain Hardik Pandya, who was caught for two.
Five-time winners Mumbai, who are already out of the playoff race, finished on 139-8 as Tilak Varma hit a 17-ball 32 before he fell to fast bowler Harshit Rana, who took two wickets in the last over.
Pace bowler Andre Russell also took two wickets, including that of Suryakumar Yadav, as table-toppers Kolkata got their ninth win in 12 matches to become the first team to book a playoff berth.
The top four teams will make the playoffs with the final on 26 May in Chennai.
Kolkata lost openers Phil Salt, out for six, and Sunil Narine, bowled for a duck off Jasprit Bumrah, in the first two overs and captain Shreyas Iyer soon fell for seven.
But Venkatesh, a left-hand batsman, helped Kolkata hit back with six fours and two sixes and he set the pace that was picked up by Nitish Rana and Russell in a key stand of 39.
Rana, a left-hand batter, hit 33 and Russell smashed 24 off 14 before Rinku Singh, who hit 20, and Ramandeep Singh, an unbeaten 17, helped Kolkata finish on a high.
Bumrah and veteran leg-spinner Piyush Chawla took two wickets each.
© Agence France-Presse