Chasing 169 to win, Mumbai were propped up by 46 runs from impact substitute Dewald Brevis.
Former skipper Rohit Sharma scored 43 off 29 balls.
An inexplicable batting strategy saw Pandya coming out to bat at number seven and the MI captain was on 1 when Umesh Yadav came on to bowl the last over, with MI needing 19 runs.
Pandya smashed the first ball, a slower one, for a six over extra cover.
Next delivery, Umesh bowled a short length ball with enough width for Pandya to pounce and bash that along the ground through extra cover.
But Umesh had his revenge on the next delivery with a pacy short ball that Pandya couldn’t get the desired connection on the pull.
Pandya dragged it off the toe end of the bat and Rahul Tewatia took a simple catch at long-on, triggering the biggest roar from the crowd.
Watch the video of the dismissal here:
Gujarat Titans won by 6 runs for their third win against Mumbai Indians at the venue.