Upul Tharanga scored a maiden one-day international century as Sri Lanka took a 2-0 lead in their three-match series against Bangladesh on Friday with a 75-run victory.
The 20-year-old left-hander, playing in his fifth one-day international, followed his 60 in the opening game on Wednesday with a classy 110-ball 105 that included nine boundaries.
Tharanga was supported by skipper Marvan Atapattu who scored 53 not out from 43 balls as Sri Lanka piled up 295 for five after being put into bat.
Part-time off spinner Tillakaratne Dilshan then snared three for 17 in seven overs as Bangladesh were restricted to 220 for six in their 50 overs.
Bangladesh opener Shahriar Nafees provided some resistance for the second successive match with 51 from 83 balls before skying a catch to mid-wicket.
Middle order batsman Mohammad Ashraful (31), Bangladesh's recent hero against Australia, skipper Habibul Bashar (41 not out) and Tushar Imran also made contributions.
However Bangladesh were never in with a realistic chance after another fine batting display from Sri Lanka.
Tharanga gave the hosts a lightning start, adding 100 in just 92 balls with veteran Sanath Jayasuriya, who was caught behind for 40 off 45 balls.
Bangladesh were once again let down by their catching, Manjural Islam Rana dropping a straightforward chance to dismiss Tharanga off Tapash Baisya when he had scored just 13.
Sri Lanka plundered 51 runs in the first five overs but slowed down when Dilshan was promoted up the order following the dismissal of Jayasuriya.
Dilshan made 27 from 59 balls before holing out in the deep while looking for his first boundary, ending a 71-run stand in 107 balls with Tharanga.
Atapattu and Kumar Sangakkara (28) shared a 51-run partnership in 42 balls after Tharanga was stumped off left-arm spinner Islam Rana.
Earlier, Bangladesh dropped former captain Khaled Mahmud to make room for seam bowler Nazmul Hossain, who limped off with a foot injury after 6.1 overs.
Sri Lanka made one change to the team that won the first match by 88 runs, resting Farveez Maharoof and playing all rounder Dilhara Lokuhettige in his place.
The final game of the series, which is to be followed by the two-Test series, takes place on Sunday.
Scorecard
Sri Lanka Innings
U. Tharanga st Mashud b Islam Rana 105
S. Jayasuriya c Mashud b N. Hossain 40
T. Dilshan c Omar b Rafique 27
M. Atapattu not out 53
K. Sangakkara c Islam Rana b Rafique 28
L. Dilhara lbw b Rasel 2
M. Jayawardene not out 23
Extras (b-1 lb-6 nb-4 w-6) 17
Total (for 5 wickets, 50 overs) 295
Fall of wickets: 1-100, 2-171, 3-194, 4-245, 5-252
Bowling
Baisya 10 - 0 - 71 - 0 (nb-2 w-2)
Rasel 10 - 1 - 49 - 1 (w-2)
N. Hossain 6.1 - 0 - 47 - 1 (nb-1 w-1)
Islam Rana 10 - 0 - 47 - 1
Rafique 10 - 0 - 47 - 2
A. Ahmed 3.5 - 0 - 27 - 0
Bangladesh Innings
J. Omar c Atapattu b Vaas 18
S. Nafees c Muralitharan b Dilshan 51
A. Ahmed b Muralitharan 18
M. Ashraful c Chandana b Dilshan 31
M. Rafique c&b Dilshan 9
H. Bashar not out 41
T. Imran b Dilhara 31
K. Mashud not out 2
Extras (b-2 lb-3 nb-6 w-8) 19
Total (for 6 wickets, 50 overs) 220
Fall of wickets: 1-38, 2-77, 3-122, 4-137, 5-140, 6-211
Bowling
Vaas 6 - 1 - 15 - 1
Dilhara 7 - 0 - 31 - 1 (nb-2 w-2)
Fernando 7 - 0 - 44 - 0 (nb-3 w-1)
Arnold 2 - 0 - 10 - 0 (w-2)
Muralitharan 10 - 0 - 48 - 1 (w-1)
Dilshan 7 - 1 - 17 - 3
Chandana 10 - 0 - 44 - 0
Jayawardene 1 - 0 - 6 - 0 (nb-1)
Result: Sri Lanka won by 75 runs