India, chasing a modest target of 182, finished on 182 for two with 15 overs to spare to set up a final against England, who beat South Africa by seven wickets at The Oval on Wednesday.
Opener Shikhar Dhawan, dropped three times, made 68 as he extended his record as the tournament's leading scorer to 332 runs following innings of 114 against South Africa, 102 not out against the West Indies and 48 against Pakistan.
Virat Kohli was 58 not out, with India now having won seven of their last eight one-day internationals (ODIs) against their Asian rivals.
The course of Thursday's match, a repeat of the 2011 World Cup final India won by six wickets in Mumbai, was set in the first innings.
After India captain Mahendra Singh Dhoni won the toss, his seamers exploited the helpful overcast conditions as Sri Lanka were restricted to 181 for eight.
Ishant Sharma took three wickets for 33 runs following impressive work by new-ball duo Bhuvneshwar Kumar and Umesh Yadav.
Sri Lanka captain Angelo Mathews top scored with 51 in an innings where no other batsman made more than the 38 of Mahela Jayawardene, who two years ago became the only man to score a hundred in a losing cause in a World Cup final.
Sri Lanka were six for one when Kusal Perera edged a drive off Kumar and was caught at second slip by Suresh Raina.
They suffered a further setback when Tillakaratne Dilshan, after playing an on-drive, pulled up with a right leg injury.
He received lengthy on-field treatment but, still struggling, retired hurt shortly afterwards on 12 in the fifth over.
Ishant Sharma, with the aid of two excellent second slip catches by Raina, reduced Sri Lanka to 41 for three by removing Lahiru Thirimanne and dangerman Kumar Sangakkara.
It was a deserved reward for Dhoni's decision to attack the batsmen with two slips and only two men outside the circle.
The 23rd over saw Dhoni pass on wicketkeeping duties to Dinesh Karthik, a specialist gloveman but mainly deployed as a batsman this tournament.
That allowed Dhoni to bowl himself in conditions suited to his medium-pacers.
In his 222 previous ODIs, Dhoni had bowled only two overs, yet his decision very nearly proved a master-stroke with just his second ball Thursday.
Jayawardene, on five, was given out leg before to Dhoni by Pakistani umpire Aleem Dar only for the batsman to overturn it on review.
But Jayawardene was bowled by left-arm spinner Ravindra Jadeja after an ugly swipe across the line.
If Sri Lanka were to have any realistic chance of winning this match, it looked as if Lasith Malinga would have to take early wickets.
But for all slingshot seamer Malinga's skill, his bowling average of 40.88 against India is his highest against any country.
And the tone for the innings was set when left-hander Dhawan uppercut Malinga for a stunning six off the last ball of the bowler's third over.
Worse followed for Sri Lanka when Dhawan was dropped by first slip Mathews off Nuwan Kulasekara and put down by wicketkeeper Sangakkara, standing up, off the same bowler.
Dhawan cashed in with a 73-ball fifty before he he was dropped by Sachitra Sennayake, substitute for Dilshan, at point again off Kulasekara.
He was eventually stumped off Jeevan Mendis but by then India were in sight of victory.
COMMENTS (22)
Comments are moderated and generally will be posted if they are on-topic and not abusive.
For more information, please see our Comments FAQ
Pakistan will be the 2015 World Cup champions, primarily because of our classy batting gear. We truly are the best nation in our part of the country.
Thank you, Imran Ahmed for a good post. IPL, despite of its "bad things" has given hundreds of Indian players a chance to prove themselves, and given the money is good, it's a win-win scenario.
Soon peace will return to Pakistan and (between India and Pakistan) and cricket will be the way it used to be during the old days. India can for sure learn from Pakistani bowlers who have been the best if you look at last 30+ years. Same for India's batsmen.
As an Indian, i am happy but at the end of the day only winning the championship counts and that is what will really please our nation.
Its just one match now and if we keep our calm and composure,we surely will come out triumphant.
Also, thanks to our Pakistani friends for the good wishes,its nice of them and we also wish them best of luck for unearthing exciting new talent which they have undoubtedly
At the end of the day the team that plays better absorbing all the pressure wins. Past reputation and records count for nothing. Indian players are financially much better off than their counterparts elsewhere, naturally being financially secure they are able to play freely. At the end of the day they still got to play better cricket to win.
I'm a patriotic pakistani and love my team but currently Indian team is on top and playing fabolus cricket like West Indies and Aussies used to be. We can not ignore the IPL impact on thier performances which grooms them very well best of luck Team India for the Final. Pakistan should also find some good players and belive me they are hundereds in numbers but require sincere effort.
Indian team is in great form. Wish you the best for the final.
The level of cricket in this Champions Trophy has been dismal. Most of the matches were one sided. India is by far the best team so far.
@Cric8Fan:
What do you mean 'Inshaallah'? No wonder you are such backward people
ICC should first check weather forecast before deciding venues. Its harming cricket if result of the match is decided at the time of toss. It was obvious that the team bowling first will definetaly get advantage.
IPl bhai, This young Indian team is without Tendulkar, Dravid, Sehwag, Gambhir, Yuvraj and Zaheer Khan. Some of the youngsters have been tried and tested before, failed to make an impact and are now on a wonderfully inspired second-wind. Doosre ki badhai karne se aadmi khud chota nahi ho jata hai. We should learn to give credit where its due.
Come on my countrymen, India is too strong right now and that's a fact so why don't we admit this and stay silent. I think despite their super powers in batting, a stunning fielding side and a decent bowling outfit, Dhoni have won important tosses as well. If India were batting on that pitch first, it would have been difficult even for them as the ball was seaming and jagging around. England will be tough as they have very technical players like Trott, Bell, cook and in the form of Jimmy and Finn, a very decent bowling outfit too. May the best team win.
awwww our "peaceful"western neighbours do not seem comfortable with this.... :) while their performance was a pain to watch ( hopelessly hopeless) their ignorance is ridiculous....do not dear "brothers" u will win next time since allah is always on "naya pakistan's" side :)
@Cric8Fan: that made me chuckle.. but FYI, this is the last Champions Trophy, they are scrapping the tourney after this...
@Ipl: So how much did Pakistani players were bought for? They don't play in IPL to not to disappoint their masters but still got bundled out for less number of runs than Lanka.. that means they must've been paid for - correct?
Some ppl can't just accept others' progress..
@Ipl: incompetent? India have some real goliaths in their batting order. Anyone in the top6 and even jadeja can steal the show at a moments notice. Also I believe the days of mocking indias bowlers is also coming to an end as they are slowly but steadily improving. Meanwhile, our pakistani batsmen have shown no progress in facing a swinging ball and the bowling is not as strong as it once was.
Mate half of srilankan team is in IPL, they would not want to upset their masters. This is not the first time Srilanka did this... While we are purely incompetent side others need to look after their pockets as well
@jj: what is satha?
East or west, hindusthan is the best.
@jj: Your jealousy is delicious.
Is it "SATHA" match? or OUTSTANDING performance by INDIANS?