Chasing the Warriors' 178/4, the Royals romped home to victory with just one ball to spare in the Indian Premier League match.
The triumph puts the Royals in fourth position in the team standings with 14 points while the visitors slumped to their 10th defeat in 12 matches.
Pursuing their way into the Playoffs, skipper Rahul Dravid (58) and Ajinkya Rahane (67) clicked once again to put a 98-run opening wicket partnership which put their chase on course.
Dravid's 40-ball knock included nine fours and one six down long on which brought up his half century while man of the match Rahane anchored the innings, batting for 48 balls and hitting six boundaries and two sixes.
After the two departed, Stuart Binny and Sanju Samson (10) struck a 25-run partnership to take the hosts home. Binny played an important and unbeaten 13-ball 32 cameo, which included two boundaries and sixes each, keeping the run rate in check.
Australians Shane Watson (5) and Brad Hodge (4) got out cheaply.
South African Wayne Parnell was the pick of the bowlers clinching three wickets and giving away 27 runs while Bhuvneshwar Kumar and Angelo Matthews picked up a wicket each.
Earlier after electing to bat, the Warriors got off to an excellent start with openers Robin Uthappa (54) and skipper Aaron Finch (45).
While they were batting, it looked like the visitors could easily score 200 as they had reached 100 by the 12th over.
In-form Uthappa struck eight fours and a six while Australian Finch hit seven boundaries to strike 97-run opening wicket partnership. But Finch's wicket put on the brakes on Pune’s innings which started slowing down.
After the opening wicket partnership, none of the batsmen could strike a long enough partnership. Yuvraj Singh (15) and Angelo Matthews (18) also perished in their attempt to accelerate.
But a few lusty blows by 21-year-old Mitchell March helped the visitors put up a challenging total for the hosts to chase. The Australian hit a 21-ball 35 which included three sixes and two boundaries.
Kevon Cooper, Siddharth Trivedi and James Faulkner clinched a wicket each for the Royals.