The Queenslander's 103 not out helped the tourists set a tough 251-run target for Bangladesh on a pitch not conducive for stroke-play and the home side were bowled out for 183 in reply on Wednesday.
Captain Habibul Bashar (70) batted well for Bangladesh but could not help prevent the world champions from taking an unassailable 2-0 lead in the three-match series.
The third and final One-dayer will be played here on Friday.
Symonds, who came in at the fall of three quick wickets, added 140 for the fourth wicket with Michael Clarke (54) to help the tourists total 250-5.
Symonds, who began cautiously, opened up later to smash six fours and two sixes in his fifth hundred in 145 matches.
Clarke was content to nudge the ball for singles during his 18th half-century, hitting just two fours off 90 balls before he was caught by Alok Kapali in the covers off spinner Mohamad Rafique.
"The century is a sign of Symonds' growing maturity," said Australian captain Ricky Ponting. "I thought 250 was a good total because the wicket was not easy to bat in the second innings."
Bangladeshi skipper Bashar said the toss proved vital.
"If we had won the toss and batted first, we could have won the game," Bashar said. "But obviously we can't depend on the toss. Hopefully, we will come back strongly in the last game."
Australian vice-captain Adam Gilchrist had earlier got the team off to a flying start but fell when he looked set for another big knock.
Gilchrist, who had scored a match-winning 76 in the first match in Chittagong, scored 32 off 30 balls with a six off paceman Mashrafe Mortaza and four boundaries.
Mortaza engineered a mini-collapse, bagging three wickets in the space of 10 deliveries.
He trapped Gilchrist leg-before, clean-bowled Ponting (five) and had left-hander Simon Katich (26) caught by Shahriar Nafees in the covers as the Aussies slipped from 55-0 to 65-3.
Bangladesh faltered in reply, losing three wickets in the first four overs with openers Shahriar Nafees and Rajin Saleh departing without scoring.
Nafees was trapped leg-before by paceman Brett Lee while Saleh edged a ball to wicketkeeper Gilchrist off left-arm seamer Nathan Bracken, who also dismissed Tushar Imran (two).
Bashar then added 62 runs for the fourth wicket with Javed Omar (34) but the 16.3 overs they consumed cost the team a chance to launch an assault later in the innings.
Bashar struck six fours during his 12th half-century in 81 matches and also put on 76 for the fifth wicket with Khaled Mashud (36), but the required run-rate crept up steadily.