Sunil Narine spoiled the party a little personally for Tendulkar, who could only manage a six-ball two, but Mumbai still went on to win the game by five wickets.
IPL: Sachin Tendulkar marks 40th birthday with Mumbai victory over Kolkata
The loss was Kolkata's fifth in seven games, while Mumbai now have four wins from seven.
The wisdom of opening the bowling with an off-spinner, Harbhajan Singh, against Yusuf Pathan, was unfathomable and Pathan made the most of the unexpected gift after Kolkata won the toss and opted to bat. The boundary off the first delivery was streaky, edged past slip, but then came two swept fours and a six over long-on. A no-ball went for a single, and Gautam Gambhir sent the free hit for a six over midwicket as 26 came from the over.
Pathan fell soon after, caught by Harbhajan at slip off Johnson, but Gambhir and Jacques Kallis raised the fifty of the innings in just 4.1 overs.
Things changed once Pragyan Ojha was introduced. As the pressure built, he accounted for both Gambhir and Kallis. Gambhir sent an outside-edge to cover and Kallis, who was dropped by Johnson when on 22, holed out.
A capacity crowd, ecstatic when Pathan was strutting his stuff, had gone quiet by this stage. And though Ojha had been bowled out by the 12th over, Kolkata were stuttering with the scoreboard reading 112 for three after 15 overs.
Manoj Tiwary slogged a four and a six off Yuzvendra Chahal in the 16th over to get things moving again. Eoin Morgan's six-four combination against Johnson, before he fell miscuing a pull to midwicket off the same bowler, cranked things up further. But Lasith Malinga conceded just three runs in the final over, with two yorkers that knocked leg stump out of the ground.
Sachin Tendulkar, on his 40th birthday, walked out to begin the Mumbai reply, but Sunil Narine spoiled the party. Tendulkar managed only a six-ball two before Narine turned one through bat and pad to knock middle stump.
Dwayne Smith was particularly harsh on Iqbal Abdulla, while Sachithra Senanayeke fared only comparatively better, as Smithbrought up his half-century in just 34 balls.
Narine provided another breakthrough when he returned in the 11th over, getting Smith to mistime a heave. In his final over, he had Rohit Sharma, who played well for 34, out caught and bowled.
But well as Narine and L Balaji bowled, with Senanayeke having an off day, Mumbai needed ten from Rajat Bhatia's final over. And though Kieron Pollard was sent back, Harbhajan atoned for his poor bowling, hitting a big six as Mumbai sealed the win with one ball to spare.
Shamya Dasgupta is senior editor at Wisden India.
Follow us @SprtNationalUAE