Sharma, opening the innings for the tourists, batted all the way through the Indian reply to finish 100 not out and help his side chase down 199 for the series victory.
On the other hand, England will feel that they should have posted more than 198-9 from their 20 overs given the great start that Jason Roy gave them by scoring 67 in quick time.
It wasn't to be though and now England need to switch their focus towards the start of the ODI series which gets underway on Thursday.
Kohli won the toss and chose to field as Stokes returned from injury for England
On a beautiful summers day at Bristol, Virat Kohli won the toss and chose to bowl first due to the amount of grass on the pitch.
The big team news for the game was that Ben Stokes came back into the England team after injury to replace Joe Root, while Kuldeep Yadav was left out of the India team much to everyone's surprise.
Onto the game itself, the hosts got off to a flyer as Roy and Jos Buttler showed how good of a pitch it is at Bristol by smashing the hosts to 73-0 after the six over power play.
Roy smashed a 23-ball half century as England made a great start
The over after the power play saw Roy bring up his half-century from 23 balls and he looked in the mood to keep going on a good track.
Both openers kept swinging from their hips but that turned out the Buttler's downfall as he went for one shot too many and was bowled by Siddarth Kaul for 34, to leave the score on 94-1 after eight overs.
Roy, though, didn't stop playing his shots as he hit a big six to take England past the 100 mark in the 10th over but in the same over, Roy fell for 67, giving Deepak Chahar his first international wicket on his debut.
Pandya took four late wickets to restrict England to under 200
That brought Alex Hales and Eoin Morgan together at the crease and just as the pair were starting to get a partnership going, Morgan was removed by Hardik Pandya for six to leave the score on 134-3.
In the same over, Pandya also removed the dangerous Hales for 30 to put a bit of a squeeze on the hosts as they looked to up the tempo in the final overs.
The England batters keep coming at you though as Stokes and Jonny Bairstow kept the run fest going at Bristol.
Pandya, though, returned once again and removed Stokes for 14 and Bairstow for 25 in the same over as he finished with figures of 4-38 from his four overs.
A combination of big hitting and losing wickets continued until the end as England scrambled their way to 198-9 from their 20 overs, leaving India with a tough run chase to win the series but on a good pitch, they would back themselves to do it.
Tourists lost two early wickets but got off to a flying start
The Indian reply got off to a fantastic start, despite the early loss of Shikhar Dhawan for five and KL Rahul for 19, as they finished their six over power play on 70-2.
The reason for the fantastic start was down to Sharma as a couple of overs after the power play, he brought up his half-century from 28 balls.
Sharma had Kohli at the crease to support him and the pair built a brilliant partnership of 89 for the third wicket, before it was broken by a moment of brilliance,
Kohli it was who fell for 43 after a brilliant catch from Chris Jordan off his own bowling to leave the score on 151-3.
Sharma's third T20 hundred for India saw India to victory with eight balls to spare
If India had any nerves though they were quickly gone as Sharma continued on his merry way to bring up his third T20 hundred for India from 56 balls.
The opener finished the game 100 not out as Pandya also hit 33 from 14 deliveries to finish the game in style as India won the game with eight balls to spare.