Mustafizur Rahman took 6-43 for Bangladesh as they bowled India out for 200, with opener Shikhar Dhawan top-scoring with 53 off 60 balls.
In reply, Shakib Al Hasan made 51 not out as Bangladesh comfortably won with nine overs to spare.
Bangladesh beat India by 79 runs in the first ODI on Thursday.
The result caps a remarkable period for the side who knocked out England of the World Cup in March. Bangladesh beat the English by 15 runs in Adelaide, with coach Peter Moores being sacked two months later.
Despite one game still left to play, Bangladesh clinched their first ever series win over India, aided by pace bowler Mustafizur's 11 wickets in the two matches so far.
Bangladesh beat India by six wickets on the Duckworth-Lewis method to take an unassailable 2-0 lead in their one-day international series.