Mumbai Indians kept their hopes in the Indian Premier League alive and knocked out Gujarat Titans by holding on to win a high-scoring eliminator by 20 runs.
Five-time champions Mumbai piled up 228-5 with Jonny Bairstow making 47 and Rohit Sharma 81 before holding their nerve as Gujarat threatened in pursuit.
Sai Sudharsan, the tournament’s leading run-scorer, hit a superb 80 for the Titans as he shared a stand of 84 with Washington Sundar.
Washington was emphatically bowled by a Jasprit Bumrah yorker for 40 before the game swung decisively when Warwickshire seamer Richard Gleeson bowled Sudharsan in the 16th over.
Gleeson, like Bairstow a late replacement for the play-offs, was left defending 24 from the last over and conceded only three from the first three balls before leaving the field with cramp.
Left-armer Ashwani Kumar finished off the over as the Titans ended on 208-6.
Mumbai, who finished fourth in the league phase and were the last to qualify for the play-offs, will play Punjab Kings for a place in the final on Saturday.
Yorkshire captain Bairstow was signed for 5.25 crore Indian rupees (£458,000) for the three possible matches and made an instant impact by hitting four fours and three sixes.
He put on 84 in 44 balls with India great Rohit, who carried on after Bairstow was caught at backward point off spinner Sai Kishore.
Gujarat, who were without Jos Buttler after he returned to England for international duty, were punished for dropping Rohit on three and 12 and Suryakumar Yadav on 25.
Suryakumar went on to make 33 while Hardik Pandya hit three crucial sixes in the final over of Mumbai’s innings to end on 22 not out from eight balls.
Titans’ captain Shubman Gill, India’s new Test skipper, was pinned lbw by Trent Boult for one in the first over of the chase and will now travel to England to prepare for the upcoming Test series.