Harshal Patel hit the winning run off the last ball after claiming a five-wicket haul as Royal Challengers Bangalore beat Mumbai Indians in a thrilling first game of the Indian Premier League.
Defending champions Mumbai collapsed from 94-1 after 11 overs to 159-9 after being put in by Virat Kohli, all-rounder Harshal taking 5-27 in Chennai on Friday and Chris Lynn top-scoring with 49.
Four wickets fell in the final over of the holders' innings at M.A. Chidambaram Stadium, with Harshal claiming his maiden five-wicket T20 haul in the first match of his second spell with RCB following his Delhi Capitals exit.
Bangalore were cruising with Kohli (33) and new signing Glenn Maxwell (39) at the crease, but it was game on when they were 122-6 in the 17th over after losing four wickets for 24 runs.
AB de Villiers looked set to see them home, but RCB were left needing two off as many balls for victory when the maverick wicketkeeper-batsman was run out for 48.
Harshal held his nerve to take a single off the final delivery from IPL debutant Marco Jansen (2-28), sealing a dramatic two-wicket win for big-spending RCB.
Five-time champions Mumbai, bidding to become the first team to win the tournament three times in a row, were ultimately made to pay for scoring only 25 runs in the last four overs of their innings.
Late Harshal burst rocks Mumbai
The holders appeared set to post a challenging total with Indians debutant Lynn and Suryakumar Yadav at the crease after Rohit Sharma was run out for 19, but they capitulated in spectacular fashion.
Powerful new recruit Lynn struck three sixes as the Australian and Suryakumar (31) put on 70 for the second wicket before they were removed by Washington Sundar and big-money signing Kyle Jamieson (1-27) respectively.
Paceman Harshal then took centre stage, trapping Ishan Kishan lbw before dismissing Krunal Pandya, Kieron Pollard and Jansen in an incredible final over that ended with Rahul Chahar being run out.
De Villiers delivers, Harshal the hero
Maxwell put on a show along with Kohli after Sundar and Rajat Patidar fell cheaply, clearing the rope twice.
The Australia all-rounder was on his way when he ramped Jansen to Lynn at short fine leg and the South African paceman struck for a second time in the 15th over to send Shahbaz Ahmed packing.
De Villiers made it advantage RCB as 15 runs came off the 18th over from Trent Boult and although he was run out by Krunal after hitting a couple of sixes in a brilliant 27-ball knock, Harshal ensured his innings was not in vain.