Asked to bat, Pune suffered a late batting collapse but managed to post a competitive total of 161 for eight in 20 overs. In reply, RCB put up an below-par show, being restricted to 134/9, as they suffered their hat-trick of losses.
For Pune, Rahul Tripathi (31) and Ajinkya Rahane (30) provided a 63-run opening stand and a 58-run third-wicket stand between captain Steven Smith (27) and Mahendra Singh Dhoni (28) led to expectations that they would score around 175.
But Dhoni and Smith fell off successive deliveries starting from the final ball of the 16th over. They lost three more wickets within three runs. But Manoj Tiwary's quickfire 27 off 11 deliveries helped them get past 161.
However, the competitive total could easily have been a match-winning one, thanks to the start they got from Tripathi (31) and Rahane (30), who posted 61 at the end of Powerplay overs (six).
Both scored at a fair clip, Tripathi especially impressive with hitting three fours and a six against pacers Adam Milne and Sreenath Aravind.
Rahane too looked fluent, timing the ball nicely as he hit five fours in his 30-run knock.
Leg-spinner Samuel Badree broke the opening partnership as Rahane missed the length completely, allowing the ball to dismantle his stumps, with Pune at 63/1 in 7.4 overs.
The following over, bowled by left-arm spinner Pawan Negi, saw Tripathi hitting straight at Virat Kohli at short cover.
These two quick wickets brought Steven Smith and Dhoni to the middle and a partnership slowly flourished.
Dhoni, who had 28 runs so far prior to this match, showed flashes of his destructive self, hoicking a delivery from leg-spinner Yuzvender Chahal to the roof of the stadium in the leg side.
Smith too joined in the act as the pair got their side past 100 in 13.2 overs.
But just when both were seeming to be dangerous going into the last overs, Dhoni and Smith were bowled in successive deliveries off Shane Watson and Aravind, respectively, leaving Pune at 127/4 in 16.1 overs.
Five deliveries later, Aravind removed Daniel Christian (1). The following over saw Kiwi paceman Adam Milne dismissing Ben Stokes (2) and Shardul Thakur (0) in the first two deliveries, as Pune plunged to 130/7.
Later, Tiwary cracked three fours and two sixes off the 11 deliveries he faced to lift Pune to 161/8.
Chasing the innings, RCB didn't get a good start, losing opener Mandeep Singh (0) who edged one to wicket-keeper off Shardul in the second over.
Captain Virat Kohli, who at the personal score of 11 got a reprieve as Tiwary dropped a regular catch at first slip off a Shardul delivery in the second over, could only score a 28 off 19 deliveries.
With Kohli's dismissal, following a miscued shot which landed in the hands of Rahane at deep cover off a Stoke delivery, the hosts were at a spot of bother at 41/2 in 5.3 overs.
RCB bowlers operated with discipline, giving no room for the batsmen. The problem for RCB turned worse as a set A.B. de Villiers (29 off 30) was stumped by Dhoni in the bowling of leg-spinner Imran Tahir, reducing the hosts to 70/3 in 10.2 overs.
Kedar Jadhav (18) and Shane Watson (14) too struggled against the the likes of Tahir and medium pacers Stokes and Daniel Christian.
With the required run rate mounting, a frustrated Jadhav jumped down the track only to drag Jaydev Unadkat delivery on to his stumps, as RCB tottered at 91/4, still needing 71 in 5.1 overs.
Watson followed Jadhav soon to the dug-out after being bowled by Stokes, as RCB looked down the barrel at 101/5 in 15.5 overs.
Shardul dealt a double double blow to RCB, dismissing dangerous-looking pair of Pawan Negi (11 off seven) and Stuart Binny (18 off eight), to plunge the hosts to 125/7 in 18 overs.
Unadkat then got into the act, removing Samuel Badree (0) in the 19th over from which RCB could only score six, needing a mountain to climb. Stokes accounted for Adam Milne (2) to seal the game for Pune.
Top 10 Batsmen with most Sixes in IPL 2017
Big hits of IPL-10
2 bookies arrested during IPL final, 77 mobiles recovered
David Warner wins IPL 2017 Orange Cap
Ben Stokes won the Most Valuable Player of IPL 2017 Award
IPL 2017: Special Awards
Disappointed to lose in the final says Smith
Kieran Pollard hails Mumbai team's character after IPL triumph
Mumbai Indians won by 1 run to clinch the IPL-10 title (Full Scorecard)
Mumbai beat Pune to win IPL