Cuno Tarfusser, the presiding judge, said on Thursday that Pretoria's inaction was "contrary" to the court's guiding Rome Statute and prevented it from prosecuting Bashir on 10 charges of war crimes, including three of genocide, in Sudan's western Darfur region.
But the judges stopped short of referring the matter to the UN Security Council for further action. Tarfusser sharply criticised the world body, saying such a move would be "effectively futile" since the council had failed to act in six previous referrals over the Bashir case.
Rights groups welcomed Thursday's ruling, saying it sent a warning to other nations.
It was "a victory for international justice", said Arnold Tsunga, Africa regional director for the International Commission of Jurists.
"It is an extremely important step toward tackling impunity in Sudan and worldwide," he said.
Amnesty International's Netsanet Belay said it was "shocking that other states parties such as Jordan are also failing in their obligations to arrest Al-Bashir and this decision makes it clear that they do so in flagrant violation of international law".
Bashir at large
Despite two international arrest warrants issued in 2009 and 2010, Bashir remains at large and in office as conflict continues to rage in Darfur.
In June 2015, he attended an African Union summit in Johannesburg and, despite frantic consultations between ICC and South African officials, later flew out of the country unimpeded.
Pretoria's lawyers had argued at an April ICC hearing that there "was no duty under international law on South Africa to arrest" Bashir, arguing there was "nothing at all" in the UN resolution to waive his diplomatic immunity.
But ICC prosecutor Julian Nicholls shot back that South Africa "had the ability to arrest and surrender him and it chose not to do so".
Judges agreed in Thursday's ruling that international obligations cannot "simply be put aside" if a country disagrees with them, and ruled that in this case Bashir did not enjoy immunity.
The Security Council asked the ICC in 2005 to probe the crimes in Darfur, where at least 300,000 people have been killed and 2.5 million displaced since ethnic minorities took up arms against Bashir's Arab-dominated government in 2003, according to UN figures.
Bashir, who has been president of Sudan since 1993, has denied all the charges and continues to travel.
Based in The Hague, the ICC does not have its own police or enforcement body and relies on other countries to arrest or surrender suspects.
And while 124 nations have signed the Rome Statute which underpins the court, it has struggled to shore up its legitimacy at times, faced last year with unprecedented withdrawals.
Source: AFP news agency