Kolkata: Rajasthan Royals rode teenager Riyan Parag's heroics to keep their hopes of a playoffs berth alive by pulling off a dramatic three-wicket win over Kolkata Knight Riders (KKR) who were pushed to the brink of elimination, in a thrilling Indian Premier League clash here on Thursday.

Dinesh Karthik silenced his critics with a career-best 97 not out as KKR posted 175/6 in 20 overs after being asked to bat first.

Karthik promoted himself to No. 4 and smashed nine sixes and seven fours in his 50-ball unbeaten knock, as KKR hit top gear in the back end of the innings, scoring 126 from the last 10 overs.

In reply, the visitors were down in the dumps at 98/5 after 13 overs before 17-year old Parag -- who was dropped on a duck by Sunil Narine (2/25) off his own bowling -- came of age with a 31-ball 47 (5x4, 2x6).

Jofra Archer also smacked a 12-ball 27 (2x4; 2x6) not out to hit the winning runs by smashing a four and a six off Prasidh Krishna in the first two balls of the final over in which nine was required. Royals put up 177/7 in 19.2 overs and won with four balls to spare.

Parag got out hit wicket in the 19th over off Andre Russell's bowling when nine was needed off seven balls. But Archer did the job in the end with Jaydev Unadkat (0 not out) at the other end. Parag and Archer shared a 24-ball 44 run seventh wicket partnership which in the end proved to be the match winner.

The result saw KKR succumb to their sixth consecutive defeat as Royals moved to seventh spot with eight points from 11 matches.

Royals raced to 55/1 in six overs with Sanju Samson (22) looking good for a big one after sharing a 53-run opening wicket stand with Ajinkya Rahane (34) who was dismissed, trapped in front by Sunil Narine in the sixth over.

But with skipper Smith joining Samson at the crease, there was hope but only for a while.

Samson was castled by Piyush Chawla in the seventh over and Smith too departed for just two runs, playing all around a Narine delivery to lose his stumps.

Out-of-form Ben Stokes (11) holed out to Russell who took a brilliant catch at long on off Chawla but just when it looked like it was all over for the inaugural champions, Parag did the unthinkable.

Earlier, World Cup-bound Karthik recovered from a slow start -- he was 3 off 10 balls -- to pace his innings to perfection as he sent the likes of Jofra Archer, Jaydev Unadkat and Shreyas Gopal to the cleaners.

Karthik changed gears in the 11th over when he hit Shreyas Gopal for a six followed by three boundaries in an over that yielded 25 runs.

Karthik completed his fifty from 35 balls and smashed Archer for successive sixes in the penultimate over before bettering his previous best of 86 when he went berserk against Unadkat by hitting him for two sixes and one four in the final over.

On a day impact player Andre Russell fell short in his run-a-ball 14, in which he was dropped twice, Karthik helped the two-time champions recover from a jittery start to post a competitive total.

Varun Aaron (2/20), playing only his second game this season, had a brilliant new ball spell of 3-1-10-2 in which he clean-bowled Chris Lynn (0) and Shubman Gill (14) cheaply.

Archer capped a superb Powerplay for Royals with another maiden as KKR found themselves going nowhere before Karthik intervened.

Brief scores: Kolkata Knight Riders 175/6 in 20 overs (Dinesh Karthik 97, Varun Aaron 2/20); Rajasthan Royals: 177/7 in 19.2 overs (Riyan Parag 47; Sunil Narine 2/25, Piyush Chawla 3/20)