Steve Smith's century failed to help Pune as Dhoni's side scored 195 runs for the loss of three wickets but Gujarat reached 196 runs by losing seven wickets in a last-ball thriller.
Dwayne Smith (63) and Brendon McCullum (43) added 93 runs in the opening stand partnership to give Gujarat a strong start at the top.
Suresh Raina (34) and Dinesh Karthik (33) made crucial contributions with their willows.
Ashok Dinda and Thisara Perera picked up two wickets for Pune.
Despite losing few quick wickets at the end, it was James Faulkner (9*) who remained unbeaten till the end and managed a victory for the visitors.
Earlier,Australian skipper Steve Smith smashed 54-ball 101 runs, which included eight boundaries and five sixes, which helped the hosts post 195 runs on the scorecard.
Ajinkya Rahane scored 54 runs at the top of the innings. Rahane and Smith added 111 runs in the second wicket stand.
MS Dhoni hammered two boundaries and two sixes in his 18-ball unbeaten 30 runs knock.
Dwayne Bravo picked up the wicket of Smith for Gujarat.
Support Our Journalism
We cannot do without you.. your contribution supports unbiased journalism
IBNS is not driven by any ism- not wokeism, not racism, not skewed secularism, not hyper right-wing or left liberal ideals, nor by any hardline religious beliefs or hyper nationalism. We want to serve you good old objective news, as they are. We do not judge or preach. We let people decide for themselves. We only try to present factual and well-sourced news.