Former champions India beat South Africa by one run Tuesday but still crashed out of the World Twenty20 as Pakistan went through to the semi-finals by virtue of a higher run rate.
India made 152 for 6 in their 20 overs and needed to restrict South Africa to 121 runs or less to reach the last four at Pakistan's expense. In the event they bowled their opponents out for 151 in a narrow but academic victory.
Pakistan will meet hosts Sri Lanka in the first semi-final in Colombo on Thursday while Australia, who went through on run rate despite losing to Pakistan, will play West Indies on Friday.
Faf du Plessis led the South African reply with an aggressive 65, studded with two towering sixes and six boundaries off just 38 balls.
When he fell in the 13th over with 58 runs were still needed but India's bowlers led by Zaheer Khan (3 for 22) kept their nerve to record their second win in three Super Eights encounters.
South Africa, who had lost both of their two earlier matches in the round of eight, needed 14 off the last Lakshmipathy Balaji over. Albie Morkel hit a six off the first ball but was bowled off the second.
Morne Morkel also hit a six off the fourth ball but Balaji snatched the win when he bowled the last man with a full-length delivery, ending on figures of 3 for 37.
India owed their total of 152-6 to Suresh Raina's 45. Raina hit five boundaries during his 34-ball knock and added 44 for the fifth wicket with Rohit Sharma, who made 25.
India were off to a disastrous start as opener Gautum Gambhir was bowled by Morne Morkel in the fourth over for eight, before the in-form Virat Kohli was caught behind off a rising delivery from Jacques Kallis for two in the next.
It became 36 for 3 when Peterson bowled Virender Sehwag for 17, after the Indian opener hit him for a big six a ball earlier. Dhoni chipped in with a quick 13-ball 23 with three boundaries.
Morkel finished with 2 for 28 while Peterson took 2 for 25.
Read More Here
Super Eight Points Table
ICC Twenty20 World Cup 2012: Match time table with group details