Virat Kohli's Royal Challengers Bangalore beat Punjab Kings by six runs in a thrilling clash Sunday to secure their place in the Indian Premier League playoffs.
Glenn Maxwell hit 57 off 33 balls and Devdutt Padikkal 40 as Bangalore made 164 for seven from their 20 overs in Sharjah.
Punjab fell short despite Mayank Agarwal's 57 and captain K.L. Rahul's 39. The opening pair put on 91 for the first wicket and Punjab seemed on target for an upset win.
But spinner Yuzvendra Chahal took three key wickets -- Agarwal, Nicholas Pooran and Sarfaraz Khan, for a golden duck -- at a cost of just 29 runs to give Bangalore the advantage.
Punjab needed 27 off the last two overs but bowlers Mohammed Siraj and Harshal Patel kept big hitter Moises Henriques in check as they gave away just 20.
Bangalore, who have yet to win the title, go into the last four with Chennai Super Kings and Delhi Capitals. Kohli said this tournament had seen an "amazing" resurgence by his side.
Bangalore have not reached the playoffs with games to spare in the past decade.
"Eight wins out of 12 games is a great campaign. We have two more opportunities to finish in the top two. That should give us motivation to play even more fearlessly," he said.
Opener Shubman Gill hit 57, his best score of the season, as Kolkata Knight Riders beat Sunrisers Hyderabad by six wickets to take the lead in the four teams chasing the final playoff place.
Hyderabad relied on captain Kane Williamson (26), Priyam Garg (21) and Abdul Samad, whose 25 included three big sixes, to record 115 for eight.
Kolkata made heavy weather of the reply after Gill's well crafted 51 ball innings. Eoin Morgan's side made 119 for four with two balls to spare. Morgan admitted it had been "tricky".
But the win took Kolkata to fourth place with 14 points, two more than Punjab, Rajasthan Royals and Mumbai Indians as the tournament enters the final league games.