India upstaged archrival Pakistan by 29 runs in the so-called "mother of all World Cup matches" to progress to the final against Sri Lanka, giving Sachin Tendulkar another chance to reach his 100th hundred after his charmed innings fell just short on Wednesday.

Tendulkar had an lbw decision overturned, survived a stumping and was dropped four times amid some atrocious Pakistan fielding en route to an 85, helping India post a competitive target of 260-9 in the face of a career-best 5-46 from swing bowler Wahab Riaz.

Pakistan's pursuit started well but then lost wickets too regularly and didn't build any decent partnerships, eventually being dismissed for 231 in the last over when Misbah-ul-Haq was caught for 56.

Indian Prime Minister Manmohan Singh shook hands with his Pakistan counterpart Yousuf Gilani as they sat side-by-side in a show of diplomacy in a heavily guarded corporate box above the main stand at Punjab Cricket Association Stadium. Congress President Sonia Gandhi celebrated among the masses down near the field.

The fireworks started instantly as people inside and outside the 28,000-seat venue danced, whooped and cheered.

Ravi Shastri, who played in India's 1983 World Cup winning squad and is now a popular TV pundit, described the match as "one of the biggest games ever played in the history of cricket." In terms of TV audience, it is destined to be a record after keeping the subcontinent transfixed. It was variously dubbed the "clash of the Titans," the "final before the final," and the "mother of all World Cup matches," in news coverage that ran 24-7.

People spilled onto the streets in nearby Chandigarh, where the roads that had been almost deserted during the broadcast were suddenly choked with cars honking horns and revving motorcycles.

"Really happy the way India turned up today," Indian spinbowler Harbhajan Singh said. "Obviously this was like a final.

"Whenever India and Pakistan play, the pressure is doubled in that match. We did really well. We deserve the win."

The World Cup semifinal coincided with a resumption of talks toward restoring trust between the nuclear-armed neighbours, who despite some shared cultural and language ties have viewed each other for decades as a major threat and have fought three wars.

The match was the first between the teams in either country since the 2008 terror attacks in Mumbai which killed 166 people and which India blamed on Pakistan-based militants. The media in both countries jumped on the cricket diplomacy angle and hyped up a political gamechanger.

Both Prime Ministers met the players on the field before the match but after that, it was all about the cricket.

India has now beaten Pakistan in all five of their World Cup head-to-heads dating back to 1992, with Tendulkar having played in every one of them. He said he cherished every one of those victories, but had his mind on a hometown final in Mumbai in three days time.

"Going back to Mumbai, especially for this event, is a wonderful occasion," he said. "All I want to say is, we want to be calm, focus on our job and get the job done."

India last won the World Cup in 1983 and has only been in one final since, losing heavily to Australia in 2003.

After starting the tournament as rank outsiders, Pakistan exceeded expectations by reaching the semifinals, but never really got in front of India at Mohali after Virender Sehwag's punishing start.

"I want to say sorry to my nation. We tried our level best," Pakistan skipper Shahid Afridi said. "I want to congratulation the Indian cricket and all of the Indian nation for this great victory. We wish them well in the final."

The match started slipping out of Pakistan's grasp when local hero Yuvraj Singh bowled Asad Shafiq for 30, removing the middle stump, to make the total 103-3 in the 24th over. It sparked a spontaneous roar that could be heard across the district.

Yuvraj dismissed Younis Khan (13) in his next over as Pakistan slumped to 106-4, but was then hit out of the attack.

The raucous celebrations started again when Harbhajan deceived Umar Akmal (29) to bowl the 20-year-old batsman and make it 142-5 in the 34th over and just kept on gathering momentum.

Tendulkar won the man-of-the-match award and will have two main aims on Saturday: winning his first World Cup title in six attempts and posting his 100th century in international cricket.

Kumar Sangakkara's Sri Lankans have already arrived in Mumbai, landing the day after their five-wicket win over New Zealand in the first of the semifinals.

The major concern for the Sri Lankans is the fitness of Muttiah Muralitharan, the leading wicket-taker in cricket who is retiring after the World Cup. He aggravated his injured hamstring and thigh but was elated after taking a wicket with his last ball in international cricket on home soil.

Sri Lanka won the last World Cup staged in Asia, beating Australia in the 1996 final at Lahore, and reached the final in 2007.

India hasn't won the biggest prize in limited-overs cricket since Kapil Dev's squad upset the mighty West Indies in the 1983 final at Lord's.