Kolkata - JP Duminy agonisingly missed a century by just one run as South Africa recovered from a poor start to make 272/7 against Ireland on Tuesday and edge closer to the Cricket World Cup quarter-finals.
South Africa were struggling at 117/5 before Duminy and World Cup debutant Colin Ingram (46), replacing the injured AB de Villiers, put on 87 for the sixth wicket at Kolkata's Eden Gardens.
The 26-year-old Duminy, who added 65 for the seventh wicket with Johan Botha, was on 99 when he skied a mistimed drive into the safe hands of a diving Kevin O'Brien in the final over.
A win for South Africa will mean they are the first team from Group B to make the last eight where they will join the four qualifiers from Group A - New Zealand, Australia, Pakistan and Sri Lanka.
Victory would also end slim Irish hopes of progressing and leave India, West Indies, Bangladesh and England scrambling for the last three spots in their pool.
The 65,000-capacity Eden Gardens, which hosted the 1987 final, was far from full as local fans once again turned their backs on matches not involving India.
The Press Trust of India said that only 2,400 tickets have been sold for the ground's three allocated matches.
Eden Gardens was stripped of its marquee match, between India and England on February 27, because renovation work was not complete.
With their quarter-final place already assured, Pakistan coach Waqar Younis now wants his team to beat defending champions Australia in their final group match on Saturday.
The 1992 champions eased into the last eight with a comfortable seven-wicket win over Zimbabwe on Monday and face Australia, who are on an unbeaten 33-match streak in the World Cup.
"They are such a big team, world champs, and haven't lost for ages," said Waqar of Australia, whose last defeat in the event came at the hands of Pakistan in 1999.
He said topping Group A would mean playing the number four team in Group B "whose morale would be down, but for me the bigger thing is the momentum".
Pakistan, with eight points from five matches, are second in Group A, behind New Zealand on net run-rate.
England captain Andrew Strauss and off-spinner Graeme Swann are doubtful for the clash against the West Indies in Chennai on Thursday after missing training with stomach problems.
"They're two key players and would be in anybody's team," England batsman Jonathan Trott said of Strauss and Swann.
England must beat the West Indies to have a chance of qualifying for the quarter-finals, but even then they will need other results to go their way.
Meanwhile, Canada's John Davison, who once held the record for the fastest World Cup century, will retire from international cricket after his side's final match against Australia.
Davison, born in Canada but brought up in Australia, smashed his famous hundred off just 67 balls against the West Indies at Centurion in 2003.
"I suppose it's pretty fitting it's against Australia," 40-year-old Davison said of his final international match on Wednesday.
Australia's Matthew Hayden broke Davison's record at the 2007 World Cup and it was broken again at the ongoing tournament by Ireland's Kevin O'Brien, who reached three figures off just 50 balls against England.
Graeme Smith (captain), Hashim Amla, Jacques Kallis, JP Duminy, Colin Ingram, Faf du Plessis, Morne van Wyk (wk), Johan Botha, Robin Peterson, Dale Steyn, Morne Morkel.
William Porterfield (captain), Paul Stirling, Ed Joyce, Niall O'Brien (wk), Gary Wilson, Kevin O'Brien, Alex Cusack, John Mooney, Trent Johnston, George Dockrell, Boyd Rankin.