Virat Kohli hit his fifth IPL century and Moeen Ali thumped 66 from 28 balls as Royal Challengers Bangalore beat Kolkata Knight Riders by 10 runs in the IPL.
The pair put on 90 for the third wicket before Ali was dismissed by Kuldeep Yadav, having taken 27 from the first five balls of the over.
Kohli batted through to reach his hundred from the penultimate ball of the innings, off just 57 balls. He holed out next ball but despite some incredible hitting from Nitish Rana (85no from 46 balls) and Andre Russell (65 from 25 balls), RCB's 213-4 proved to be just enough as KKR finished on 203-5.
Having been put in to bat, RCB got off to a solid start but it was only when Ali joined Kohli with the score at 59-2 in the ninth over that they really got going.
Ali led the way as he clubbed five fours and six sixes on his way to his third IPL half-century and although he departed with four overs of the innings, remaining, Kohli accelerated and reached three figures with a boundary off Harry Gurney in the final over.
Two wickets for the recalled Dale Steyn left Kolkata in trouble at 33-3 in their reply and that became 79-4 when Marcus Stoinis struck in the 12th over.
The game appeared over as a contest but a remarkable display of hitting from Rana and Russell, who combined for 14 sixes, kept KKR in with a chance.
They were left needing 24 from the final over, Ali was given the bowling responsibilities and despite seeing the second ball sail back over his head for another Russell maximum, the England all-rounder held his nerve to secure RCB just their second win in nine games this season.