Sri Lanka fought hard to beat hosts Bangladesh by three wickets in the last league match of the Asia Cup in Dhaka on Thursday, gearing up for the final with an all-win record.
Sri Lanka, who will meet defending champions Pakistan in the final on Saturday, kept Bangladesh down to 204-9 before overcoming early jitters to chase down the target in 49 overs.
The four-time champions won all their four matches, this time with some tight bowling and resilient batting led by skipper Angelo Mathews who hit an unbeaten 74.
It was Mathews and Chaturanga de Silva (44) who lifted Sri Lanka from a struggling 75-5 through their sixth wicket stand of 82 runs.
Mathews was in command throughout his 103-ball knock, hitting seven boundaries and a six, while de Silva ably supported him during his 52-ball knock, smashing five fours.
Despite two late wickets, Mathews kept his cool, hitting the winning boundary towards mid-wicket.
Paceman Al-Amin Hossain finished with 2-42.
Bangladesh, whose dreams of reaching the final were shattered after Tuesday's three wicket defeat against Pakistan, had a sniff of a victory after Al-Amin removed Kusal Perera (nought) and in-form Kumar Sangakkara (two) in his first two overs.
Mahela Jayawardene (nought), Lahiru Thirimanne (33) and Ashan Priyanjan (24) were also removed before Mathews took over the responsibility of steering the team to winning shores.
Bangladesh, who won the toss and opted to bat, were left stranded after a good start.
Spinners Priyanjan (2-11) and Ajantha Mendis (2-55) put the brakes on before Thisara Perera (2-29) and Suranga Lakmal (2-32) wrapped up the middle and lower order.
Opener Anamul Haque, who scored a brilliant hundred in Bangladesh's highest one-day score of 326-3 against Pakistan on Tuesday, was once again the mainstay of the batting with an 86-ball 49.
Anamul and Shamsur Rahman (39) gave the home team a solid 74-run start before Mendis struck twice, dismissing Shamsur and Mominul Haque (one) in the 18th over.
Anamul hit two boundaries and a six during his 86-ball knock while Shamsur's 57-ball innings included six hits to the fence.
Nasir Hossain (30) and Mohammad Mahmudullah (30) shared an innings-repairing sixth wicket stand of 55 to give the total some respectability. Shakib Al Hasan made 20.
Five-time champions India crashed out of the event on Wednesday after losing two of their four matches against Sri Lanka and Pakistan.
Bangladesh, who were runners-up to Pakistan in the last Asia Cup in 2012, finished the event with four defeats in as many matches.
Afghanistan was the fifth team who upset Bangladesh in their maiden appearance in the Asia Cup but lost their remaining three matches.
SRI LANKA INNINGS
Sri Lanka defeated Bangladesh by three wickets in the last Asia Cup league match to remain unbeaten.
Sri Lanka will take on Pakistan in the final on Saturday.
Needing 205 to win, Sri Lanka were in serious trouble when they lost three wickets for just eight including that of man in form Kumar Sangakkara and Mahela Jayawardene.
Skipper Angelo Mathews scored an unbeaten 74 while he was well supported by Ashan Priyanjan (24) and Thisarra Perera (44) as Sri Lanka got past the target in the penulatimate over.
Earlier, Sri Lanka bowlers came up with a disciplined performance to restrict Bangladesh to a modest 204 for nine in 50 overs.
Suranga Lakmal, Thisara Perera, Ajantha Mendis and Ashan Priyanjan all claimed two wickets each while Chaturanga de Silva got one as Bangladesh lost wickets at regular intervals.
For the hosts, Anamul Haque top scored with 49 while he also shared a crucial 74-run stand with Shamsur Rahman (39) for the opening wicket.
Nasir Hossain and Mahudullah both scored 30 to consolidate the innings.
Sri Lanka are 196 for 7 in 48 overs
The match is still on. Sri Lanka lose Perera after he is run out. SL 193-7 in 47.1 overs
Thisara Perera run out 15 (23b 0x4 0x6)
Two boundaries from Mathews and it's become easy for Sri Lanka. They need to ensure they don't lose wickets. SL 176-6 in 44 overs.
A fine knock from Mathews as he gets to his half century. He is determined to stay there till the end. SL 165-6 in 43 overs.
Sri Lanka are 163 for six in 42 overs.
Mathews on 48 as Sri Lanka reach 159 for six in 41 overs.
A crazy shot from De Silva as he gets the edge to the 'keeper. It was not required at this stage. SL 157-6 in 39.3 overs.
Chaturanga de Silva c Anamul Haque b Mahmudullah 44 (52b 5x4 0x6)
There was a chance for Bangladesh. A terrible drop in the deep and De Silva survives. SL 157-5 in 39 overs.
Partnership crosses 50 after De Silva hammers two consecutive boundaries. SL 128-5 in 34 overs.
Mathews and de Silva have built a strong partnership here. Bangladesh looking for a break here. SL 117-5 in 32 overs.
Sri Lanka need 109 from 126 balls. Target is not a difficult one if Sri Lanka does not lose their wickets. SL 96-5 in 29 overs.
Sri Lanka are 91 for five in 27 overs.
Thirimanne played a patient knock but has to return after Sunny strikes. Sri Lanka still in a state of bother. SL 75-5 in 23.1 overs.
Lahiru Thirimanne c Rubel Hossain b Arafat Sunny 33 (60b 3x4 0x6)
Thirimanne and Mathews building a crucial partnership. They have already milked 25 so far from 7.2 overs. SL 72-4 in 22 overs.
Thirimane on 22 while Mathews on 4. The visitors need 151 in 32 overs. SL 53-4 in 18 overs.
That's another wicket gone. When it looked like Sri Lanka were bouncing back Rahman strikes. SL 47-4 in 14.4 overs.
Ashan Priyanjan c Anamul Haque b Ziaur Rahman 24 (38b 3x4 0x6)
Sri Lanka are 40 for 3 in 12 overs.
Pressure still on Sri Lanka but Thirimanne and Priyanjan staying firm. It's a maiden over for Hossain. SL 28-3 in 9 overs
Sri Lanka slowly trying to recover from the early shocks. SL 19-3 in 6 overs.
Lanka in serious trouble. Jayawardene falls as he is run out. That's last thing Sri Lanka wanted at this time. SL 8-3 in 3.3 overs.
Mahela Jayawardene run out 0 (5b 0x4 0x6)
Big wicket for Bangladesh as Sangakkara departs. He has been in tremendous form this series. Bangladesh fans are jumping all around as Hossain celebrates his second wicket. SL 6-2 in 2.1 overs
Thirimanne gets the first boundary for Sri Lanka. SL 6-1 in 2 overs.
The crowd erupt in joy as Bangladesh strike early. Kusal Perera departs without disturbing the score. SL 0-1 in 0.2 overs.
Kusal Perera c Anamul Haque b Al-Amin Hossain 0 (2b 0x4 0x6)
That's another one for Perera. And he finishes a fine over giving just five runs. Ban 204-9 in 50 overs
Rubel Hossain b T Perera 0 (1m 1b 0x4 0x6)
Perera gets the slower one and Ziaur Rahman is out. Ban 203-8 n 49.1 overs.
Ziaur Rahman b T Perera 12 (22m 14b 1x4 0x6)
Another good over from Lakmal. He has bowled some fine yorkers today. His 10-over spell gave away 32 runs claiming two wickets. Ban 199-7 in 49 overs
Lakmal gets his second wicket. An easy catch for Jayawardene in the deep. Ban 183-7 in 46.3 overs.
Nasir Hossain c Jayawardene b Lakmal 30 (49b 1x4 0x6)
Four overs remains. Bangladesh's realistic target should be around 220 to 220. Ban 181-6 in 46 overs.
That's a lovely yorker from Lakmal. On target and Mahmudullah's stumps is disturbed. Ban 174-6 in 44.3 overs.
Mahmudullah b Lakmal 30 (41b 2x4 0x6)
A fantastic 50-run partnership between Hossain and Mahmudullah comes of 60 balls. Ban 170-5 in 43.2 overs
Some quick runs there as Bangladesh crosses 150. Hossain and Mahmudullah going strong at the moment. Ban 153-5 in 41 overs.
In the last five overs, Bangladesh have just got 19 runs. It's getting difficult for them to score losing wickets at regular intervals. Ban 134-5 in 38 overs.
Bangladesh need a partnership here. Ban 126-5 in 35 overs.
Shakib Al Hasan is gone. That's a big wicket and Bangladesh are in serious trouble here. Ban 119-5 in 33.2 overs.
Shakib Al Hasan c Mathews b Priyanjan 20 (32b 2x4 0x6)
Skipper Shakib has a huge reponsibility here if Bangladesh has to get a big total. Ban 114-4 in 32 overs.
Bangladesh 108-4 in 30 overs
A stunning catch from Priyanjan in his second attempt that leaves Haque totally disappointed. He misses his half century by just a single run. Ban 106-4 in 29.1 overs.
Anamul Haque c Thirimanne b Priyanjan 49 (86b 2x4 1x6)
Haque closes in on his half century. He has been eating up too many balls but ensured he has remained there. Ban 102-3 in 28 overs.
Bangladesh are 97 for 3 in 25 overs.
Bangladesh lose yet another wicket. Not good news for the fans there. This time de Silva gets rewarded for his good bowling. Ban 87-3 in 21.5 overs.
Mushfiqur Rahim lbw b de Silva 4 (6b 0x4 0x6)
Mendis has taken the wickets but has been slightly expensive giving away 19 runs from his four overs while Chaturanga de Silva also has given same runs from his five overs. Ban 84-2 in 21 overs.
Mendis is on a roll. He strikes again in the last ball of his third over to make it two to his tally. Haque had no clue what the ball was doing. Ban 76-2 in 19 overs.
Mominul Haque b Mendis 1 (2b 0x4 0x6)
Sri Lanka get their first wicket. Mendis strikes as Rahman is trapped. Mendis has been very effective this series and he continues his dominance. Ban 74-1 in 18.2 overs.
Shamsur Rahman lbw b Mendis 39 (57b 6x4 0x6)
Both batsmen looking confident. Sri Lanka looking for a wicket here. Ban 62-0 in 15 overs.
Ajantha Mendis comes into bowl.
That's the 50 partnership for the openers. Ban 53-0 in 13.5 overs.
Rahman and Haque chug on confidently. Run rate is just over 3.5 for Bangaldesh but that should be a worry for now. Ban 48-0 in 13.1 overs
Two back to back boundaries and Rahman looks set for a big knock. He is going strong with Haque doing his part. Lakmal has bowled a fantastic spell of five overs giving only 16 runs. Ban 39-0 in 10 overs.
Bangladesh batsmen are a tad slow, thanks to some fine bowling from Bangladesh. Spinners introduced. Ban 28-0 in 7 overs.
Perera and Haque are bowling a fine line but Bangladesh openers are cautious. Ban 15-0 in 4 overs.
Both the openers get a boundary in the first two overs. It's a positive start for Bangladesh. Ban 11-0 in 2 overs.
Bangladesh win the toss and opted to bats first in the final league match of the Asia Cup against Sri Lanka at Mirpur on Thursday.
Sri Lanka have rested pace ace Lasith Malinga and Dinesh Chandimal.
Ashan Priyanjan and Sachithra Senanayake take their place.
Bangladesh have made a couple of changes. Imrul Kayes is injured, Shamsur comes in. Rubel and Sunny are also in, and Shafiul and Razzak are out.
Bangladesh: Shamsur Rahman, Anamul Haque, Mominul Haque, Mushfiqur Rahim, Shakib Al Hasan, Nasir Hossain, Mahmudullah, Ziaur Rahman, Arafat Sunny, Rubel Hossain, Al-Amin Hossain
Sri Lanka: Kusal Perera, Lahiru Thirimanne, Kumar Sangakkara, Mahela Jayawardene, Ashan Priyanjan, Angelo Mathews, Chathuranga de Silva, Thisara Perera, Sachithra Senanayake, Ajantha Mendis, Suranga Lakmal