With RPS aiming to keep their fourth-place position and extend their gap over the Kings XI Punjab by four points, Steve Smith won the toss and sent GL in to bat.
The visitors got off to a good start, thanks to a solid opening partnership of 55 runs off 36 balls between Ishan Kishan and Brendon McCullum. It was Tahir who broke the partnership, taking the wicket of Kishan (31 off 24 balls) on the last ball of the sixth over.
McCullum stuck around long enough to see his side pass the 100-run mark, but a run-out and a brace from Tahir saw the visitors reduced to 94-4, before McCullum was dismissed by Shardul Thakur five runs short of a half-century.
The ex-New Zealand captain was the top-scorer for his side with his 27-ball 45 (five fours and two sixes), as Jaydev Unadkat (3-29) and Daniel Christian (1-27) cleaned up the tail, to bowl the Lions out for 161 with one ball remaining.
An opening collapse put pressure on RPS as their top four were knocked over for 42 runs in just 5.3 overs. GL struck early, thanks to Pradeep Sangwan and Basil Thampi as they reduced the hosts to 10-3 in just 1.3 overs, followed by a run-out from Aaron Finch to dismiss Rahul Tripathi.
Stokes got stuck in reaching his fifty in only 38 balls (three fours and three sixes), as MS Dhoni joined in by contributing 26 to their 76-run partnership.
Stokes continued to push forward, despite losing Dhoni to Thampi for his second and catapulted his side from 118-5 (16.1 overs) to 154-5 by the 19th over.
With Stokes on 98 in the last over, he hit a four to reach his maiden IPL century as Christian (17 off 8) hit the winning runs with a maximum to hand RPS a five-wicket victory with one ball remaining.
Stokes set his highest score in T20 cricket of 103 off 63 balls (seven fours and six sixes), which earned him the Man of the Match award, while Tahir claimed the Stylish Player of the Day award for his 3-27.
Elsewhere, a 27-ball 43 from AB de Villiers could not save RCB from posting an average total of 162-8. De Villiers was the top scorer in what was a sub-par batting display from the visitors. Krunal Pandya dismissed De Villiers for the fourth time in as many innings, while Mitchell McClenaghan starred with 3-34 and prevented RCB from setting a big total by dismissing Pawan Negi on 35 off 23 balls.
The Mumbai Indians held on to top spot thanks to a match-winning 35-ball 56 from Rohit Sharma as they scored 165-5 with one ball remaining. RCB’s chances of a playoff spot continue to slip away.
Photo: BCCI/Cricinfo