Three-time champion India will meet the winner of Bangladesh-West Indies match on 14 February
In a match produced by ICC TV and aired around the globe by 15 broadcasters, Anmolpreet Singh scored 72 and Sarfaraz Khan made 59 as India recovered from early setbacks to post 267 for nine after being put into bat on a misty morning in Mirpur.
Sri Lanka was down to 13 for two in reply before being dismissed for 170 in 42.4 overs to hand three-time champion India its fifth appearance in the final.
Skipper Ishan Kishan’s men await the winner of Thursday’s second semi-final between host Bangladesh and the West Indies in the title clash in Mirpur on 14 February.
India lost openers Rishabh Pant and Kishan by the 10th over to slip to 27 for two in conditions that suited Sri Lanka’s seam bowlers.
Sarfaraz and man-of-the-match Anmolpreet revived the innings by adding 96 for the third wicket with a mix of big shots and sharp ones and twos.
Sarfaraz hit six fours and a six while Anmolpreet, playing only his second match in the tournament, matched his senior partner with the same number of hits to the fence.
Sri Lanka grabbed six wickets in the final 10 overs, but India still managed to add 89 runs as Armaan Jaffer pushed the score along with a 16-ball 29.
Seamer Asitha Fernando was the most successful Sri Lanka bowler with four for 43, while new-ball partner Lahiru Kumar and spinner Thilan Nimesh picked up two wickets each.
Sri Lanka slipped to 42 for three following the loss of skipper and star batsman Charith Asalanka in the 10th over, before Kamindu Mendis (39) and Shammu Ashan (38) engineered a brief recovery.
But, once left-arm spinner Mayank Dagar had Mendis caught off a top-edged sweep and Ashan ran himself out, Sri Lanka caved in tamely against the steady India bowlers.
Dagar finished with impressive figures of three for 21, while seamer Avesh Khan claimed two for 41.
“To enter the final unbeaten in the tournament so far shows we have executed our plans well,” said Kishan, adding: “Anmolpreet and Sarfaraz brought us back in our innings and then the bowlers kept the pressure to restrict Sri Lanka.
“The final will be a new game. We have to prepare well and be ready for the challenge.”
Asalanka said his team allowed the match to slip away after pinning India against the ropes.
“I thought we did well to restrict the Indians both at the start and the end of their innings,” the Sri Lankan captain said. “But then we let slip the advantage.
“The target was not difficult, but we kept losing wickets. No one stayed long enough to take us through.”
Meanwhile, Afghanistan qualified for the Plate Championship final with an eight-wicket win over New Zealand in Cox’s Bazar.
Aniket Parikh’s all-round display of 48 and two for 20 went in vain as the Afghans bowled out New Zealand for 135 and then raced home in the 28th over.
Tariq Stanikzai scored 50 and captain Ihsanullah Janat made 47 as Afghanistan set up the Plate final against Zimbabwe in Cox’s Bazar on 12 February.
“I think we have done well to reach the Plate final and hope the team continues to play good cricket in the final also,” said Ihsanullah.
Pakistan bounced back after the quarter-final loss to the West Indies to rout Nepal by 122 runs in Fatullah and ensure itself of a top-six finish in the 16-nation tournament.
Hasan Mohsin hit 117 and took four for 42 as Pakistan made 258 for eight after being asked to bat, and then bowled Nepal out for 136.
Super League semi-final - India beat Sri Lanka by 97 runs in Mirpur
India 267-9, 50 overs (Sarfaraz Khan 59, Anmolpreet Singh 72, Armaan Jaffer 29; Asitha Fernando 4-43, Lahiru Kumara 2-50, Thilan Nimesh 2-50)
Sri Lanka 170 all out, 42.2 overs (Kamindu Mendis 39, Shammu Ashan 38; Mayank Dagar 3-21, Avesh Khan 2-41)
Super League play-off - Pakistan beat Nepal by 122 runs in Fatullah
Pakistan 258-8, 50 overs (Hasan Mohsin 117, Saif Badar 88; Sandeep Lamichhane 3-53, Dipendra Airee 2-44)
Nepal 136 all out, 43.5 overs (Prem Tamang 65, Hasan Mohsin 4-42, Saif Ali 2-9
Plate semi-final - Afghanistan beat New Zealand by eight wickets in Cox’s Bazar
New Zealand 135 all out, 44.5 overs (Aniket Parikh 48; Shamsurrahman 3-37, Rashid Khan 3-30)
Afghanistan 137-2, 27.3 overs (Tariq Stanikzai 50, Ihsanullah Janat 47, Aniket Parikh 2-50)
10 Feb – England v Namibia, Fatullah (5th place play/off semi-final)
10 Feb – Ireland v Scotland, Cox’s Bazar (13th/14th place play/off)
11 Feb - Bangladesh v West Indies, Mirpur (Super League semi-final)
11 Feb – 7th place play/off, Nepal v England/Namibia, Fatullah (teams TBC)
11 Feb – Canada v Fiji, Cox’s Bazar (15th /16th place play/off)
12 Feb – 11th place play/off, Cox’s Bazar
12 Feb – 5th/6th position play/off – Pakistan v England/Namibia, Fatullah
12 Feb – 9th/10th position play/off – Afghanistan v Zimbabwe, Cox’s Bazar
13 Feb – 3rd/4th position play/off, Nepal v Bangladesh/West Indies – Fatullah
14 Feb – Final, Mirpur