The 19-year-old's figures of 5-50 helped Bangladesh dismiss India for 228 in 46 overs after half-centuries from Tamim Iqbal, Soumya Sarkar and Shakib Al Hasan led the hosts to a record target of 307 runs.
Fellow paceman Taskin Ahmed complemented Mustafizur's bowling with 2-21 himself as Bangladesh avenged their 109-run defeat in the World Cup quarterfinals this year to go 1-0 ahead in the three-match series.
Opener Rohit Sharma top-scored for India with 63 and shared a 95-run opening stand with Shikhar Dhawan, but after Taskin broke through and took Dhawan's wicket, the hosts never looked back.
Taskin followed up Dhawan's scalp by adding Virat Kohli, out for just one run, to his tally before Mustafizur sent Sharma and Rahane back in successive overs.
Left-arm spinner Shakib compounded India's problems when he induced a sharp edge from Mahendra Singh Dhoni to dismiss the Indian skipper for five and leave his side down five wickets for just 128.
Suresh Raina (40) and Ravindra Jadeja (32) tried to rebuild the innings with a 60-run sixth wicket stand, but Mustafizur took three quick wickets to seal the deal for Bangladesh.
Earlier, Bangladesh opener Tamim top-scored for the home side with 60 runs, while Sarkar and Shakib added 54 and 52 respectively as Bangladesh scored 307 runs in the first innings, surpassing their previous high against India of 296.
Opting to bat first, the hosts were looking for an even more imposing total as Tamim and Sarkar put on a 102-run opening stand, but a rain break halted the game for about an hour, shifting the momentum.
Off-spinner Ravichandran Ashwin, who finished with 3-51, stopped the run flow with a tight spell after the run out of Sarkar earned India their first breakthrough.
Tamim then wasted his brilliant start, holing out a catch at long on to Rohit Sharma to end his 62-ball innings, which included seven fours and a six.
Ashwin then trapped debutant Litton Das leg before for eight and forced another mishit from Mushfiqur Rahim, also caught by Rohit at long on, for 14.
Shakib helped Bangladesh regroup with an 83-run fifth wicket stand with Sabbir Rahman, who made 41.
Yadav claimed 2-58 while Bhuvneshwar Kumar chipped in with 2-37.
COMMENTS (5)
Comments are moderated and generally will be posted if they are on-topic and not abusive.
For more information, please see our Comments FAQ