Moeen Ali breezed to a 19-ball half-century as the Super Kings raced to 75-1 at the end of the powerplay, but they did not capitalise on their early impetus in Mumbai on Friday.
Spinners Yuzvendra Chahal (2-26) and Obed McCoy (2-20) were the pick of the bowlers to peg back Chennai, with MS Dhoni (26) the only other batter to pass 20 in support of Ali (93) in the Super Kings' 150-6.
Jos Buttler fell for just two to Simarjeet Singh (1-18) in response, before Sanju Samson (15) followed to Mitchell Santner (1-15) and Ali bowled Devdutt Padikkal (3) to leave the Royals 76-3 in the 12th over.
Opener Yashasvi Jaiswal batted on as his partners fell, making 59 off 44 balls before being dismissed by Prashant Solanki, with Rajasthan requiring a further 47 to win from the last five overs.
Solanki soon added the dangerous Shimron Hetmyer (6) to his list of scalps, but Ashwin – promoted up the order – took charge of the chase to see his side over the line with two balls to spare.
Victory meant Rajasthan will have two chances in the playoffs to make the final on May 29. Lucknow Super Giants must settle for third place.
Ali efforts in vain
All eyes were on Buttler, who leads the run charts with 629 in this year's IPL, but it was England team-mate Ali who delivered a scintillating performance at the Brabourne Stadium.
The 34-year-old fell in the final over just seven short of a century after a tremendous 57-ball innings that included 13 fours and three sixes.
He then superbly posted figures of 1-21 with the ball from his four-over allocation – but his efforts ultimately proved in vain, with Ashwin's 40 from 23 proving decisive.
Chahal equals spin record
Chahal once again edged ahead of Royal Challengers Bangalore's Wanindu Hasaranga in the battle to be the competition's top wicket-taker.
The Royals' leg-spinner picked up two wickets, while going at just 6.5 an over, and equalled Imran Tahir's tally of 26 (in 2019) for the most wickets by a spinner in a single IPL season.
The hosts needed to win to keep their hopes of a series triumph alive after going down to Heinrich Klaasen's career-best 81 in Sunday's four-wicket defeat.
And superb bowling displays from Harshal (4-25) and Chahal (3-20) meant they did exactly that after Ruturaj Gaikwad (57) and Ishan Kishan (54) hit half-centuries for the hosts, who scored 179-5.
The tourists produced a disappointing performance with the bat as they toiled to 71-5 and ultimately fell well short of their much-improved hosts, eventually bowled out for 131 in the final over.
Having been put in to bat by South Africa, Gaikwad and Ishan wasted little time in establishing a strong platform for the hosts, the former becoming the first dismissal of the contest in the 10th over, by which point India had 97 on the board.
While Dwaine Pretorius (2-29) eventually claimed the wickets of both Ishan and skipper Rishabh Pant (6) to keep the Proteas in contention, their hopes of wrapping up the series early were quickly shattered when they took up the bat.
The dismissal of skipper Temba Bavuma for just 8 set the tone for a dismal South African display, with Reeza Hendricks (23), Rassie van der Dussen (1), Pretorius (20) and David Miller (3) all following in a miserable start.
With India in full control, Chahal and Harshal ran riot, the latter claiming his fourth wicket when dismissing Tabraiz Shamsi for a golden duck with the final ball of the contest as the dominant hosts kept the series alive.
Dominant duo run riot
Having struggled to make headway against South Africa in the first two contests of the series, the Indian attack was back to its best in this potentially decisive third clash.
Harshal set the tone by sending Bavuma and Hendricks tumbling early before finishing with four, while Chahal stepped up to claim his own treble, ensuring there was to be no repeat of Klaasen's heroics by dismissing him for 29.
Home openers on form
Gaikwad and Ishan's gave India a superb platform to build from, with the former recovering from his poor start to the series – in which he had previously scored just 24 runs across two innings – as the pair each hit crucial half-centuries.
The Royals first restricted the Knight Riders to 149-8 off their 20 overs after winning the toss and choosing to field.
KKR’s effort was led by a 47-ball 57 from Venkatesh Iyer that included a pair of fours and four sixes.
Leg-spinner Yuzvendra Chahal led the way with the ball once again for the Royals, taking 4-25 from his four overs.
Chahal also made history with the wicket of KKR captain Nitish Rana, becoming the leading wicket-taker in IPL history with his 184th scalp, passing West Indian great Dwayne Bravo.
New Zealand quick Trent boult took 2-15 in three overs in support of Chahal.
The Royals were then dominant in their reply, needing only 13.1 overs to reach 151-1.
Jaiswal, who made the fastest fifty in IPL history when he brought up the milestone off just 13 deliveries, finished 98* off 47 balls. He hit 12 fours and five sixes.
Royals captain Sanju Samson ended unbeaten on 48.
Rajasthan are now third in the table with 12 points from as many games played.
The Kings slipped to three defeats in their last five games as their playoff credentials came into question, but Mayank Agarwal's side managed to post a competitive 189-5 at the Wankhede Stadium on Friday.
Jonny Bairstow anchored the Punjab innings with 56 from 40 deliveries before being removed by Yuzvendra Chahal (3-28), who also picked up the wickets of Bhanuka Rajapaksa (27) and Agarwal (15).
Liam Livingstone (22) and Jitesh Sharma, who blasted 38 off just 18 balls, provided the Kings with late impetus, but their total seemed insufficient when the in-form Jos Buttler led the early response.
The England international smashed 30 off 16 but was caught off Kagiso Rabada's bowling (1-50), while Jaiswal and Sanju Samson (23) continued the charge before the latter was dismissed by Rishi Dhawan (1-25).
Jaiswal ensured the Royals were firmly in control, requiring a further 49 to win when he departed to Arshdeep Singh (2-29), who also claimed the wicket of Devdutt Padikkal (31) in the final over.
Shimron Hetmyer (31 not out) subsequently saw Rajasthan over the line with two balls to spare as Samson's side ended a two-game losing run to move level on points with second-placed Lucknow Super Giants.
Rejuvenated Jaiswal
Jaiswal mustered just 25 runs across his first three innings in the IPL this season, and was dropped after a poor run in which he produced scores of 20, one and four.
However, he made his mark on his return to the Royals XI as he produced his top score in the competition with his 68 against the Kings, which included nine fours and two sixes.
Classy Chahal returns to form
Chahal had struck just twice in four games, leading to concerns over the purple-cap holder's wicket-taking ability in the middle overs.
But the 31-year-old silenced his critics in emphatic fashion, picking up three important wickets after the powerplay, while bowling 10 dot balls as he went for just seven runs per over.
Leg-spinner Yuzvendra Chahal, who has the most wickets for India in the shortest format (79), is another key figure rested for the series, which starts on July 29 in Trinidad.
Kohli missed the opening ODI against England due to an apparent groin strain, with reports suggesting he had requested to be left out of the following limited-overs tour against the West Indies.
The 33-year-old has not scored a century in any format of cricket since November 2019, last doing so when he scored 136 in a Test against Bangladesh at Eden Gardens, leading to questions over his form.
Kohli is thought to still be in India's plans for the upcoming T20 World Cup in Australia, though Rohit Sharma's side will do without the batter for the next series after naming their 18-man squad.
Kuldeep Yadav and KL Rahul are both set to return from injuries, subject to fitness, with Ravichandran Ashwin joining a spin department that already includes Ravi Bishnoi, Axar Patel and Ravindra Jadeja.
Hardik Pandya and Rishabh Pant were rested for the ODI series against West Indies, which precedes the T20I clashes, but are in the squad for the fixtures in the shortest format.
Meanwhile, Arshdeep Singh was preferred ahead of quick Umran Malik in the pace bowling department, which includes Bhuvneshwar Kumar, Avesh Khan and Harshal Patel.
India T20I squad in full: Rohit Sharma (c), Ishan Kishan, KL Rahul (wk), Suryakumar Yadav, Deepak Hooda, Shreyas Iyer, Dinesh Karthik, Rishabh Pant, Hardik Pandya, Ravindra Jadeja, Axar Patel, Ravichandran Ashwin, Ravi Bishnoi, Kuldeep Yadav*, Bhuvneshwar Kumar, Avesh Khan, Harshal Patel, Arshdeep Singh.
*Inclusion of KL Rahul and Kuldeep Yadav is subject to fitness.
Purple cap holder Chahal took 3-24 to restrict the Royals to 154-6 after Steve Smith won the toss and opted to bat first in Abu Dhabi on Saturday.
Isuru Udana claimed 2-41, including the early dismissal of Smith, and Rajasthan needed a late flurry of runs from Mahipal Lomror (47) and Rahul Tewatia (24 not out) to post over 150.
That was not enough to prevent RCB from taking over at the summit as a second-wicket stand of 99 from Padikkal and Kohli set up an emphatic win at Sheikh Zayed Stadium.
In-form 20-year-old opener Padikkal (63 off 45 balls) made his third half-century of the tournament and Kohli registered his first after failing in his previous three knocks.
Kohli finished unbeaten on 72 from 53 deliveries as his side secured a third victory out of four, the captain having given himself a lift by hitting the winning runs in a Super Over win over Mumbai Indians last time out.
The Royals are sixth with two wins and as many defeats, but they are set to be boosted by the arrival of England all-rounder Ben Stokes.
CHAHAL PURPLE PATCH CONTINUES
Chahal has made an outstanding start to the tournament and played a key role again after Smith and Jos Buttler were dismissed by Udana and Navdeep Saini respectively.
The tweaker struck with his first ball, with Sanju Samson caught and bowled, and the Royals were 70-4 halfway through their innings when Robin Uthappa holed out attempting to launch Chahal for six.
Lomror also fell to the wily Chahal, who applied the pressure with 10 dot balls as he joined Mohammed Shami on eight wickets in the tournament.
PADIKKAL ON A ROLL, KOHLI COMES GOOD
Padikkal has been a revelation for RCB at the top of the order and is now the fourth-highest run scorer in the tournament.
The young left-hander showed exquisite timing to dispatch Jaydev Unadkat for six over square leg and found the rope six times in another classy innings.
Much of the talk ahead of the match was over Kohli's lack of runs, but it was only a matter of time before the India captain delivered.
He brought up his 50 off 41 balls after being dropped by Tewatia, hitting two sixes and seven fours in a high-quality knock before AB de Villiers punched Sam Curran for four to seal victory.
Wicketkeeper-batter Pant was involved in a near-fatal car collision in northern India in December 2022 but comes back into the international fold just 16 months after the incident.
The 26-year-old's performances in this season's Indian Premier League have secured his place in the 15-man squad, having scored 398 runs in 11 innings at a strike rate of 158.6 for the Delhi Capitals.
Pant is one of two wicketkeepers named in the squad for the tournament starting on June 1 in the United States and West Indies, alongside Sanju Samson.
Despite not previously featuring in a World Cup squad, Samson has impressed in the IPL after accumulating 385 runs in nine innings, striking at a rate of 161.1 for the league-leading Rajasthan Royals.
India captain Rohit Sharma and vice-captain Hardik Pandya will lead the side in the United States and West Indies, though Pant and Samson's inclusion leaves no place for KL Rahul or Jitesh Sharma.
Yuzvendra Chahal did not feature in either T20I squad in the recent series against South Africa and Afghanistan but was another India star included based on their IPL showings this year.
Leg-spinner Chahal, who will be joined by Kuldeep Yadav, Ravindra Jadeja and Axar Patel in the spin-bowling department, has 13 wickets at an average of 23.5 for the Royals this term.
Jasprit Bumrah heads the pace-bowling lineup with Mohammed Siraj and Arshdeep Singh, while Hardik and Shivam Dube present all-rounder options with the ball.
Dube offers a decisive alternative with the bat, too, having top-scored with 124 runs across three innings in the home series against Afghanistan in January.
At the top of the order, Yashasvi Jaiswal will likely open alongside captain Rohit, with Virat Kohli and Suryakumar Yadav providing some high-class backup lower down.
India face Ireland in New York on June 5 to start their World Cup campaign before meeting rivals Pakistan, USA and Canada.
India's provisional squad:
Rohit Sharma (captain), Hardik Pandya, Yashasvi Jaiswal, Virat Kohli, Suryakumar Yadav, Rishabh Pant, Sanju Samson, Shivam Dube, Ravindra Jadeja, Axar Patel, Kuldeep Yadav, Yuzvendra Chahal, Arshdeep Singh, Jasprit Bumrah, Mohammed Siraj.
The world's top-ranked T20I side recorded a 10th consecutive victory in Lucknow, as they continue to build towards the T20 World Cup in Australia.
Ishan Kishan scored a majestic 89 off 56 in a superb display from India's top order saw in which the hosts reached 199-2 in their 20 overs, before Bhuvneshwar Kumar was a star turn with the ball to help wrap up a comprehensive win.
India were sent out to bat after visiting skipper Dasun Shanaka won the toss and racked up 50 runs in just over five overs.
Captain Rohit's (44 off 32) landmark moment arrived when he smashed Jeffrey Vandersay's delivery for six in the eighth over, as he and fellow opener Kishan toyed with the Sri Lankan bowlers.
Star man Ishan reached his half-century off just 30 balls, as the hosts passed the hundred mark before suffering their first loss of the contest, Rohit being beaten by Lahiru Kumara's delivery.
Ishan was finally caught by Janith Liyanage, with the visitors unable to claim any further wickets before the 20 overs were through.
India were equally dominant with the ball. Bhuvneshwar Kumara struck with the first delivery to wipe out Pathum Nissanka and followed up by dismissing Kamil Mishara (13 off 12) inside three overs.
Venkatesh Iyer and Ravindra Jadeja joined the party shortly afterwards, while Yuzvendra Chahal removed Shanaka (3) for the fifth, becoming India's leading T20I wicket taker with his 67th dismissal in the format.
Sri Lanka's Charith Asalanka hit 53 off 47 balls, but it was not enough to avoid a comprehensive beating for the visitors, who fell to a 1-0 series deficit.
India skipper enters the record books
Rohit Sharma took the title of all-time leading run-scorer in T20I cricket, surpassing New Zealand's Guptill and fellow India star Kohli with his haul of 44 from 32 balls.
That return takes him to a total of 3,307 runs in the T20I format, a tally he will doubt add to in the remainder of the series.
Home bowlers target records of their own
Chahal's dismissal of Sri Lanka skipper Shanaka, meanwhile, made him India' most prolific bowler in the T20I format, with 67 wickets in his 53 matches.
Bhuvneshwar Kumar, meanwhile, is fourth on that list after wreaking havoc upon the Sri Lankan bowling order, claiming 57 T20I wickets since his 2012 debut.