Sibanda had passed fifty on 19 previous occasions and converted only one of those innings to three figures, but he made the most of two dropped catches to hit the winning runs and finish unbeaten on 103 not out with Zimbabwe having more than two overs to spare.
The result also prompted Bangladesh skipper Mushfiqur Rahim to announce he was stepping down.
Having limited Bangladesh to 247 for nine in their 50 overs, Zimbabwe made a solid start to their reply as Sibanda put on 79 for the first wicket with Hamilton Masakadza, who made 41.
However, Sibanda was joined by Sean Williams, who recorded his second consecutive half-century to finish unbeaten on 55 as Zimbabwe cruised home with 17 balls to spare.
More From This Section
"It wasn't easy to get dropped from the team for the first ODI in the series, but obviously I had to keep my head up and concentrate on making the most of the chance when it came," said Sibanda.
Bangladesh's innings was once again reliant on the lower order, with Mahmudullah's career-best 75 not out and Nasir Hossain's 63 rescuing the tourists from a position of 110 for five.
Zimbabwe's seamers had made the most of the advantage provided to them by a 9am start, with left-armer Brian Vitori striking twice in his second over.