Dominant India brushed aside Sri Lanka by eight wickets at Cardiff Wales Stadium to book a Champions Trophy final meeting with England.
The only team to enter the knockout stages with a perfect record, India followed the example of Alastair Cook’s men by dismissing their last-four opponents cheaply and making light work of the subsequent chase.
Sri Lanka, for whom Angelo Mathews top-scored with 51, could only muster a modest 181 for eight as both white balls nipped around under grey skies.
Ishant Sharma led the way for India with 3-33, while Bhuvneshwar Kumar returned 1-18 from nine overs and Ravichandran Ashwin added a trio of scalps at the death.
Shikhar Dhawan, pictured, comfortably the leading run-scorer in the tournament, then benefited from being dropped three times off Nuwan Kulasekara when progressing to 68.
There was also a half-century from Virat Kohli as India made it over the line with 15 overs to spare.
Countless deliveries beat the bat in the early stages of Sri Lanka’s innings as India made the most of appreciable seam and swing movement.
When the edge was located, Suresh Raina helped himself to three catches at second slip, accounting for Kusal Perera, Lahiru Thirimanne and Kumar Sangakkara.
The latter’s dismissal, a second scalp for the hostile Ishant, left Sri Lanka 41 for three after 18 overs.
To make things worse, Tillakaratne Dilshan had been forced to retire hurt with a calf injury soon after Kusal’s departure, although he did return at seven down with a heavy limp.
Mathews and Mahela Jayawardene, Sri Lanka’s present leader and his predecessor, did their best to rescue their side with a battling partnership of 78.
Both men successfully reviewed lbw decisions that had initially gone against them, Jayawardene’s reprieve coming after he had been given out to the unlikely figure of Mahendra Singh Dhoni, who opted to hand over wicketkeeping duties to Dinesh Karthik mid-innings in order to bowl four overs of gentle medium-pace.
Jayawardene eventually fell for 38, bowled attempting an uncharacteristically wild mow at a Ravindra Jadeja delivery that skidded on from round the wicket.
Runs continued to prove hard to come by thereafter and Mathews, who faced 89 balls, became the first of Ashwin’s late victims as he sought desperately to up the ante.
Any hope Sri Lanka had of defending their total – and avenging their World Cup final defeat to India in 2011 – soon faded as Dhawan and Rohit found the boundary with relative frequency in reply.
Dhawan’s off-side play was particularly eye-catching, yet he did enjoy several moments of good fortune.
The left-hander was twice reprieved on 18, by Mathews at slip and wicketkeeper Sangakkara, who was stood up to the stumps when he failed to take a thin nick.
Rohit was bowled for 33 aiming an ugly heave at Mathews, but Dhawan, who has now struck 332 runs in four Champions Trophy innings, found another willing ally in Kohli and it was not long before an Indian victory became a formality.
Dhawan was dropped for a third time on 62, by substitute fielder Sachithra Senanayake at backward point, but departed soon after, stumped off Jeevan Mendis.
By that stage the previously becalmed Kohli was firmly into his stride and India’s number three brought up his fifty with a straight six off Mendis before finishing unbeaten on 58.
Live Text Commentary
India Innings
5:56pm - END OF MATCH - INDIA WIN BY EIGHT WICKETS AND WILL PLAY ENGLAND IN SUNDAY'S CHAMPIONS TROPHY FINAL! That's the end of that. India book their place at Edgbaston with a victory every bit as comfortable as the one England recorded 24 hours earlier. Kohli finishes unbeaten on 58.
5:49pm - FIFTY! Kohli (58b 4x4 1x6) - Kohli cracks Mendis down the ground for a wonderful straight six to pass 50. He has hit 33 from the last 16 balls he has faced.
5:38pm - WICKET! Dhawan st Sangakkara b Mendis 68; Ind 142/2 - Dhawan is stumped off Sri Lanka's leg-spinner, but it is unlikely to matter with 40 needed from 18.1 overs.
5:30pm - MISSED CHANCE - Kohli is starting to go through the gears now. A powerful thump over midwicket brings four more as Jeevan Mendis' opening over goes for 11. Dhawan is then dropped again, on 62, when substitute fielder Sachithra Senanayake fumbles at backward point. Kulasekara is the unlucky bowler once more.
5:23pm - We are getting to the stage where it would take a minor miracle to deny India a place in the final. Their progress with the bat has been largely assured, in sharp contrast to Sri Lanka's innings. As if to show how easy this all is, Kohli marches down the pitch and lofts Kulasekara over cover for his first four.
5:11pm - FIFTY! Dhawan (73b 5x4 1x6) - Dhawan will not want this tournament to end. He brings up his latest fifty with a pulled four off Kulasekara.
5:06pm - Malinga beats Kohli with three successive back-of-a-length deliveries outside off. The lack of an edge sums up a miserable day for Sri Lanka thus far. Nothing has gone right for Mathews' men.
4:56pm - It is difficult to see anything other than an India win now, but Mathews has turned back to Malinga in a bid to spark a late fightback.
4:44pm - Order was swiftly restored and India's pursuit of 182 is back in progress. Mahendra Singh Dhoni's side end the 19th over on 82 for one, Virat Kohli having joined Dhawan.
4:37pm - I'm afraid we have another interruption. This time around half a dozen protesters have entered the playing area carrying flags.
4:33pm - WICKET! Rohit b Mathews 33; Ind 77/1 - I'm not sure what Rohit was thinking here. With India in complete command, he charges down the pitch to Mathews and is bowled by one that seams in to clip the top of leg stump.
4:21pm - REVIEW - Mathews reviews a rejected lbw appeal, only for replays to confirm a healthy inside edge from Dhawan.
4:12pm - Rohit collects fours on either side of the wicket off Kulasekara and this is in danger of becoming a cakewalk for India, who end the 13th over on 61 without loss.
4:05pm - An effortless drive through extra-cover gets Dhawan back on the boundary trail and a more fortuitous four, via an inside-edge past the stumps, takes India to 50.
4:02pm - MISSED CHANCE - Dhawan registers his first single, but only after being dropped again off Kulasekara, this time by wicketkeeper Sangakkara.
3:55pm - MISSED CHANCE - With such a modest total on the board, Sri Lanka can ill afford to put down chances. Kulasekara finds Dhawan's edge with the wicketkeeper stood up but skipper Angelo Mathews cannot hold on diving to his right at first slip.
3:50pm - Thisara Perera has replaced Malinga, but the boundaries keep on coming for Dhawan - who picks up four more with a flashing stroke behind point. The opener’s three previous innings have yielded scores of 114, 102 not out and 48.
3:40pm - The in-form Dhawan is happy to attack Malinga. An uppercut narrowly clears third man and results in the first maximum of India's innings.
3:31pm - Kulasekara draws a false stroke from Rohit, but the ball runs past second slip for another boundary. Dhawan then hammers a drive to the cover fence off Malinga. You get the feeling Sri Lanka need to strike quickly.
3:23pm - Lasith Malinga takes the other new ball and also responds to being driven through the covers by beating the bat. Shikhar Dhawan, the leading run-scorer in the tournament, is then inconvenienced by a trademark Malinga yorker.
3:18pm - India's chase is under way. Rohit Sharma cracks Nuwan Kulasekara through the off side for four but is beaten by the next two balls.
Sri Lanka Innings
2:41pm - END OF INNINGS; SL 181/8 - Mendis is stumped for 25 at the start of the final over and there is drama next ball as a man runs onto the field while the ball is in mid-air, Malinga having heaved the ball towards long-on. The intruder is removed by stewards and Sri Lanka belatedly complete their innings. Will 181 be defendable?
2:34pm - Poor old Dilshan can barely get between the wickets here but is doing his best to boost his side's total, which stands at 171 with an over to come.
2:28pm - WICKET! Kulasekara b Ashwin 1; SL 164/7 - Nuwan Kulasekara is bowled round his legs offering no shot to Ashwin. Dilshan returns to resume his innings.
2:22pm - WICKET! Perera c Dhawan b Ishant 0; SL 160/6 - The recalled Thisara Perera falls for a blob when holing out to deep midwicket. Sri Lanka are not going to have too many to defend here. There are 4.1 overs to be bowled.
2:17pm - WICKET! Mathews c Bhuvneshwar b Ashwin 51; SL 158/5 - Moments after receiving a let-off when Kohli made a mess of a steepling chance at long-on, Mathews sends the ball skywards again - this time off a leading edge - and is caught by Bhuvneshwar at cover.
2:11pm - FIFTY! Mathews (85b 1x4 1x6) - Ishant also concedes a boundary on his return as Jeevan swivel-pulls behind square. Mathews subsequently brings up a battling fifty that could yet prove valuable.
2:04pm - Mathews greets Yadav’s reintroduction with a pull to the midwicket rope, but is then struck on the body when trying to paddle the seamer over fine-leg. Sri Lanka’s captain has certainly decided it is time to free his arms.
1:55pm - That has to go down as an awful batting powerplay. Sri Lanka managed just 12 runs, lost Jayawardene and even played out two maidens. With 10 overs to come, they are 127 for four.
1:50pm - India's spinners are starting to enjoy themselves now. Ashwin follows Jadeja's wicket-maiden with a runless over of his own.
Jeevan Mendis, playing today in place of the injured Dinesh Chandimal, eventually scores off the 11th ball he faces.
1:44pm - WICKET! Jayawardene b Jadeja 38; SL 119/4 - Mahela meets an uncharacteristically sloppy end, bowled aiming to pull one from Jadeja that skidded on. That is the left-arm spinner's 10th scalp in the tournament.
1:39pm - A deft cut off Jadeja earns Jayawardene his third four. Mathews’ only boundary so far is the six he struck off Ishant. Sri Lanka have 115 on the board with 15 overs remaining.
1:30pm - Dhoni has reclaimed the gloves from Karthik and Ashwin is now into his work from the Cathedral Road End. Sri Lanka pass 100 in the 32nd over.
1:21pm - REVIEW - Mathews becomes the second Sri Lankan to successfully overturn an lbw decision. He is rapped on the back leg by Jadeja, but replays show the ball would have gone over the top of the stumps.
1:18pm - Jayawardene survives another scare when driving Jadeja uppishly towards cover, the ball dropping just short of Virat Kohli. Jadeja then finds sharp turn to beat a defensive prod from Mathews before Dhoni completes his fourth over. I have to be honest and say I was not expecting to see India's captain rolling his arm over today.
1:07pm - Runs are finally coming freely following the introductions of Jadeja and Dhoni, who gives up seven in his second set of six. Sri Lanka are 79 for three after 26 overs.
12:58pm - REVIEW - Dhoni pins Jayawardene lbw with his second ball, but India's excitement proves short-lived as the batsman successfully reviews. An inside-edge saved Mahela from a rather embarrassing exit!
12:55pm - This could be fun. Mahendra Singh Dhoni has handed the wicketkeeping gloves to Dinesh Karthik and is coming on for a bowl!
12:51pm - Where on earth did that come from? Mathews clubs a length delivery from Ishant over wide long-on for six! There is a big lbw appeal next ball, but umpire Aleem Dar is unmoved. Replays suggest the ball would have comfortably cleared the stumps.
It's now time for some spin, at last, in the form of Jadeja.
12:47pm - Sri Lanka finally pass 50 off the final ball of the 21st over. They continue to face a seam-only diet. Ravichandran Ashwin and Ravindra Jadeja may end up bowling the last 20 overs at this rate.
12:43pm - Ishant may not be the most consistent bowler around, but today he is showing just how dangerous he can be with a hostile spell.
Sri Lanka now have Mahela Jayawardene and Angelo Mathews at the crease. The latter gets off the mark with a classy back-foot punch through cover for three.
12:32pm - WICKET! Sangakkara c Raina b Ishant 17; SL 41/3 - Three wickets for India and three catches for Raina! Sangakkara falls in similar fashion to Thirimanne and Sri Lanka are in a real pickle.
12:28pm - The accurate Bhuvneshwar finishes his ninth set of six with figures of 1-18. It will surely not be long before we see some spin. Will that enable Sri Lanka to break the shackles?
12:18pm - WICKET! Thirimanne c Raina b Ishant 7; SL 36/2 - Thirimanne's dismal innings comes to an end as he plays an indeterminate stroke outside off and offers Suresh Raina a second catch at second slip.
12:14pm - Having looked all at sea for 24 balls, Thirimanne advances to Ishant and flays a back-of-a-length ball over cover-point for four. Yet another play-and-miss follows, however, and Sri Lanka have just 36 from 15 overs at drinks.
12:04pm - Ishant Sharma, on for Yadav, follows the lead of India’s new-ball pair with a threatening first over. Bhuvneshwar is then denied another maiden as Sangakkara carves over backward point for four. That’s the first boundary since Dilshan hobbled off.
11:51am - The powerplay ends with Sri Lanka, who have faced three maidens, 26 for one.
Remarkably, we almost had another injury moments ago. Yadav appealed for lbw against Thirimanne and was then struck on the leg as a shy at the stumps came in. The incident is laughed off by the paceman.
11:47am - Goodness me. Thirimanne is now injured! The left-hander got an inside edge onto his knee and Sri Lanka's physio is required once again. Thankfully, he appears able to continue.
11:38am - Thirimanne is twice beaten by Yadav in a maiden. Runs are proving tough to come by as the ball seams and swings about under grey skies, although Sangakkara provides a welcome lift for Sri Lanka when pushing Bhuvneshwar through straight midwicket for three.
11:27am - Dilshan has now retired hurt on 12. The stricken batsman can barely make it off the field. Lahiru Thirimanne joins Kumar Sangakkara in the middle.
11:23am - Dilshan has received treatment to his right leg and will resume his innings. However, he still looks to be suffering some discomfort.
11:18am - This could be a hammer blow for Sri Lanka. After pulling and driving Yadav for four, Dilshan picks up an injury when clipping into the leg side for two more. Hopefully he is able to continue, with no runners allowed.
11:12am - WICKET! K Perera c Raina b Bhuvneshwar 4; SL 6/1 - India land an early blow as Perera edges a full delivery to second slip. There is swing here for Bhuvneshwar.
11:09am - After a rash swipe at fresh air outside off, Kusal Perera displays more elegance when clipping Bhuvneshwar Kumar through backward square-leg for four.
Umesh Yadav takes the other new ball and beats the edge of Tillakaratne Dilshan in a maiden.
Pre-Play News
10:58am - The national anthems have taken place and we are ready to commence, not something I anticipated when rowing past Port Talbot this morning!
Chandimal's absence is due to a groin injury.
10:46am - Jeevan Mendis and Thisara Perera have been drafted into Sri Lanka's line-up in place of Dinesh Chandimal and Shaminda Eranga, while India are unchanged.
Here are the teams in full:
India: Shikhar Dhawan, Rohit Sharma, Virat Kohli, Dinesh Karthik, Suresh Raina, Mahendra Singh Dhoni (captain), Ravindra Jadeja, Ravichandran Ashwin, Bhuvneshwar Kumar, Ishant Sharma, Umesh Yadav.
Sri Lanka: Tillakaratne Dilshan, Kusal Perera, Kumar Sangakkara, Mahela Jayawardene, Lahiru Thirimanne, Angelo Mathews (captain), Jeevan Mendis, Thisara Perera, Nuwan Kulasekara, Rangana Herath, Lasith Malinga.
10:42am - INDIA WIN TOSS AND BOWL - A huge cheer goes up from the enthusiastic Indian supporters as Angelo Mathews calls incorrectly and, unsurprisingly given the conditions, is invited to bat.
There really is a tremendous atmosphere in Cardiff today. It will be a real shame if rain does return to spoil this fixture.
10:32am - Should this game fall victim to the weather, India will qualify for the final due to their superior performances in the group stage. Mahendra Singh Dhoni's men have been the form team in the competition to date and boast the only unbeaten record.
10:22am - The toss is now set to take place at 10:40am with a view to play starting 20 minutes later. No overs have been lost just yet.
10:09am - The umpires are still a little concerned about the dampness of the outfield, so we do not have a fixed start time at present.
10am - Good morning from Cardiff Wales Stadium. England are already through to the Champions Trophy final and today Alastair Cook's side find out whether they will take on India or Sri Lanka at Edgbaston.
I'm afraid to say the weather is not promising, although an inspection is currently taking place with the rain having stopped for the time being. The game is scheduled to start at 10:30am.