Johannesburg - Mali will next month become the first national football team to play in South Africa since xenophobic violence there claimed at least 12 lives during September.
Zambia cancelled a friendly against Bafana Bafana in Lusaka this month because they could not guarantee the safety of the visitors after attacks on African economic migrants around Johannesburg sparked continent-wide fury.
Madagascar initially agreed to visit South Africa as replacements for Zambia, then abruptly withdrew.
The announcement that Mali had agreed to play a friendly international against South Africa was made in Port Elizabeth, where the match will be staged on October 13.
South Africa and Mali will be competing for the Nelson Mandela Challenge trophy at a stadium named after the first democratically elected president of the republic, who died in 2013.
The 45 000-seater was built for the 2010 World Cup and is now the home ground of top-flight club Chippa United and PRO14 rugby team the Southern Kings.
Both countries are preparing for the start of the 2021 Africa Cup of Nations qualifying group phase during November.
South Africa play Ghana away and Sudan at home in Group C while Mali host Guinea and visit Liberia or Chad in Group A.
BAFANA BAFANA SQUAD:
Darren Keet (Leuven, Belgium), Ronwen Williams (SuperSport United), Brandon Peterson (Bidvest Wits)
Eric Mathoho (Kaizer Chiefs), Buhle Mkhwanazi, Thulani Hlatshwayo (Bidvest Wits), Thapelo Morena (Mamelodi Sundowns), Mosa Lebusa (Mamelodi Sundowns), Thamsanqa Mkhize (CT City), Innocent Maela (Orlando Pirates)
Kamohelo Mokotjo (Brentford, England), Thato Mokeke (CT City), Dean Furman (SuperSport United), Lebogang Phiri (Guingamp, France), Bongani Zungu (Amiens, France), Themba Zwane (Mamelodi Sundowns), Thulani Serero (Al Jazira, Abu Dhabi), Keagan Dolly (Montpellier, France)
Lebo Mothiba (Strasbourg, France), Bradley Grobler (SuperSport United), Kermit Erasmus (CT City) Thembinkosi Lorch (Orlando Pirates), Percy Tau (Club Brugge, Belgium)