After setting a 183-run target, the hosts returned to restrict Rajasthan to 168 for seven, courtesy some superb bowling by Ashwin and Murugan Ashwin (1/24) in the middle overs after Arshdeep Singh's maiden two IPL wickets. Mohammad Shami was expensive but came good in the final overs, scalping two wickets.
After this win, KXIP Punjab grabbed the fourth spot in the points table with 10 points to keep play-off hopes alive.
Defending the total, KXIP dismissed the big-hitting Jos Buttler (23) early as Rajasthan reached 55 in the first six overs. After blasting two sixes and one four, Buttler was caught by keeper Pooran as young pacer Arshdeep scalped his maiden IPL wicket.
Opener Rahul Tripathi (50) and Sanju Samson (27 off 21) added 59 runs to take Rajasthan close to the 100-mark. However, after two tight overs, Ashwin produced the breakthrough with a carrom ball in the 12th over when he cleaned up Samson, who looked to play a sweep shot.
Shami then returned only to concede 11 runs with Tripathi and Ajinkya Rahane sending him across the rope.
Needing 66 off last six overs, Tripathi completed his fifty in 44 balls before being caught at long-off boundary by Agarwal off Ashwin. Australian Ashton Turner's IPL debut ended with first-ball nought, while Jofra Archer was sent back by Shami as RR slumped to 133 for five in 17.1 overs.
Stuart Binny scored a quickfire 11-ball 33 but it was not enough as Rahane too was dismissed in pursuit of quick runs.
Opener Rahul hit a 47-ball 52, while Ashwin (2/24) smashed 17 off four balls in the last over and then took two crucial wickets as KXIP bounced back after successive losses in the last two matches to record their fifth win in this IPL.
Invited to bat, Rahul, who was named in India's World Cup squad on Monday, and David Miller (40 off 27) shared an 85-run stand to lay the foundation.
Ashwin then smashed a four and successive sixes in the last two balls to put KXIP in a strong position.