Chasing 185 for a win, Pune overhauled the target with a ball to spare in a tense finish as they reached 187 for 3 in 19.5 overs.
Smith smashed seven fours and three sixes from 54 balls for his unbeaten 84 while Rahane hit 60 from 34 balls with the help of six fours and three sixes as the duo raised 58 runs from the second wicket to set up the win.
South African Tahir (3/28), who was unsold in the IPL auction and drafted in the Pune team as a late replacement, triggered a top-order collapse after Mumbai's rollicking start after they were put into bat.
But Pandya's late flourish negated Tahir's fine effort as Mumbai rattled up 64 runs in the last five overs.