With about 6 million people infected with the virus - more than 10% of the population - South Africa carries the world's heaviest HIV/Aids caseload and has around 2.5 million people taking antiretroviral (ARV) drugs daily.
However, the huge numbers are causing the system to creak, health researchers say.
Medical charity Médecins Sans Frontières surveyed more than 2 300 of South Africa's 3 800 public health facilities and found that one in five had either run short or run out of drugs in the previous three months.
Of the affected clinics, catering for 420 000 patients, 20% said they had had to turn away patients, putting the effectiveness of the ARV treatment plan at risk, MSF said. "The sheer scale of the problem shows stock-outs to be one of the principal barriers to maintaining an effective treatment programme," said Anele Yawa of the Treatment Action Campaign, an HIV/Aids advocacy group that took part in the research.
'Problem not that bad'
The health ministry acknowledged some problems but said MSF was exaggerating the situation.
"When you are running a project as big as this, you're likely to have some challenges," said health ministry spokesman Joe Maila. "We accept there's a problem but the level at which they pitched it is an extreme over-exaggeration."
A year ago, South Africa awarded a $667 million two-year contract to pharmaceutical firms including Aspen Pharmacare , Abbott Laboratories and Adcock Ingram to supply HIV/AIids medication.