Australia's Marcus Stoinis hit an unbeaten 124 as Lucknow Super Giants chased down Chennai Super Kings' 211 with six wickets and three balls to spare on Tuesday.
It was Stoinis' first IPL century and his second in T20 cricket, and it trumped an unbeaten 108 from Chennai skipper Ruturaj Gaikwad at his home ground, the MA Chidambaram Stadium.
Lucknow was in trouble at 88 for 3 after 11 overs, but Stoinis put on 70 runs for the second wicket with Nicholas Pooran, who hit 34 off 15 balls, and an unbeaten 65 with Deepak Hooda to secure victory in 19.3 overs.
Stoinis reached his hundred off 56 balls as he and Hooda, who made 17* off six balls, secured Lucknow's second successive win over Chennai to replace the five-time champions in fourth place.
Needing 17 for victory in the final over, Stoinis smashed Mustafizur Rahman for a six and three fours, including one off a no-ball.
Stoinis came to the crease in the first over after Quinton de Kock departed for a duck. He struck 13 fours and six sixes in his 63-ball knock.
It was the highest chase score by a batsman in the IPL.
Hooda said Stoinis "played like a warrior, he motivates us".
Sri Lanka pace bowler Matheesha Pathirana took two wickets, including the dangerous Pooran.
Chennai posted 210-4 thanks to Gaikwad's second IPL ton and a 104-run stand between the skipper and Shivam Dube, who made 66 after the hosts were asked to bat first.
Gaikwad took on the opposition attack despite losing Ajinkya Rahane and Daryl Mitchell, hitting a six and a four to bring up his 56-ball hundred.
Gaikwad became only the third Chennai player after India's Murali Vijay and Australia's Shane Watson to score two IPL tons and moved into second place on the batting charts with 349 runs.
Virat Kohli tops the charts with 379 runs for Royal Challengers Bengaluru.
Dube reached his fifty with a four and a six before being run out in the final over, with veteran MS Dhoni getting a rousing reception and hitting a four off the last ball.