Mumbai Indians overcame a seemingly-average total to claim the Champions League Twenty20 crown after a 31-run over the Bangalore Royal Challengers.
James Franklin top-scored for the Indians with 41 off 29 balls but it was their bowlers who allowed them to recover from what looked to be a below-par 139 all out after their 20 overs.
Harbhajan Singh took 3-20 for Mumbai, while Yuzvendra Chahal finished with economical figures of 2-9 and Sri Lanka star Lasith Malinga also chipped in with two wickets as the Challengers were dismissed for 108.
The Indians chose to bat first but made a sloppy start as Aiden Blizzard was run out for three in the second over and Sarul Kanwar (13) was clean bowled by Dirk Nannes soon after.
Ambati Rayudu made 22 from 21 balls before being dismissed by Raju Bhatkal, who finished with figures of 3-21, as Chris Gayle took a fine catch at extra cover.
Suryakumar Yadav and Franklin kept the scoreboard ticking over as they took the total beyond 100 before the 21-year-old was run out backing up by Daniel Vettori for 24.
Franklin smashed two huge sixes off as he moved on to 41 before he too was run out while attempting a second run after Kieron Pollard had flicked wide of mid-wicket.
Pollard and Harbhajan both fell in a productive 16th over for Bangalore as Vettori had the former caught at long on by Virat Kohli for two and the latter dismissed lbw for a duck.
Malinga plundered two sixes in an 11-ball innings of 16 to boost the total in the closing stages but departed in the 19th over for 16, straight after Rajagopal Sathish (nine) had been caught at long on.
Bangalore were big favourites and made a solid start as Tillakaratne Dilshan made a quick-fire 27 before Malinga skittled his fellow compatriot's off stump in the fifth over.
Gayle contributed just five before he was sent packing due to a questionable lbw decision in the following over, the West Indian becoming Harbhajan's first victim.
The chase then began to come apart as wickets tumbled at regular intervals, with Mayank Agarwal (14) lofting a Chahal delivery to long off and Harbhajan snaring Kohli for 11.
The collapse began in earnest when Arun Karthik was dismissed by Chahal for a duck and Mohammad Kaif was snapped up at cover by Kanwar off Pollard for three
The Challengers were in disarray on 92-7 when Vettori (one) was stumped going down the track in the 17th over and Saurabh Tiwary's dismissal for 17 killed any remaining hopes off.
Aravind (four) and Bhatkal (six) batted into the final over but Mumbai sealed the victory when the latter holed out to Rajagopal Sathish at long on.