The 26-year-old added 81 for the fourth wicket with Shivnarine Chanderpaul (50) and a quickfire 60 for the fifth with skipper Brian Lara to help the West Indies post a challenging total.
Sarwan hit five boundaries and two towering sixes during his 90-ball knock which lifted the total for the home team who are seeking their first win in the second round.
Sarwan, who is tipped to take over from Lara as captain, capitalised on some sloppy fielding as he and the skipper added 84 runs in the final ten slog overs.
Lara, who was playing his penultimate match after announcing he would retire from one-day cricket after the World Cup, hit a robust 27-ball 33 with two sixes and a four before he was caught off Abdur Razzak in the 47th over.
But it was Bangladesh who had the upper hand at the outset.
West Indian batsmen found the going tough against some accurate pace bowling Syed Rasel and Mashrafe Mortaza following captain Habibul Bashar's decision to bowl first on a bouncy Kensignton Oval pitch.
Mortaza removed Devon Smith (five) in the third over, bowling the left-hander with a sharp incoming delivery before Rasel, who missed Bangladesh's defeat against Ireland with a sprained ankle, trapped the out-of-form Chris Gayle in the next over.
Gayle made only one to continue his poor run of scores, having made just 148 in seven World Cup matches.
At 15-2, Bangaldesh were unlucky not to take Marlon Samuels' wicket when Saqibul Hasan failed to hold a diving one-handed chance off Rasel at gully when the batsman had not scored.
Samuels went onto make a painstakingly slow 31 off 66 deliveries with four boundaries before left-arm spinner Hasan had him caught behind. Samuels added 47 runs for the third wicket with Chanderpaul.
It was then left to Chanderpaul and Sarwan to build the innings.
Chanderpaul, who was slow at the start, reached his 46th one-day fifty off 84 deliveries. The very next ball he missed a cross batted shot and was bowled by medium pacer Aftab Ahmed for 50. He hit three boundaries.
West Indies, who carried over two points into the Super Eights courtesy of a win over fellow qualifiers Ireland, brought back paceman Jerome Taylor for Ian Bradshaw and Samuels for Kieron Pollard.
Bangladesh scored a surprise 67-run win over South Africa in the Super Eights to also have two points.
West Indies 230 for 5 in 50 overs (Sarwan 91 n o, Chanderpaul 50, Lara 33, Samuels 31; Mortaza 1 for 39, Ahmed 1 for 12, Saqibul 1 for 38) Vs Bangladesh (yet to bat).