The match will mark a welcome return for La Roja to South Africa’s home of soccer where they won the 2010 Fifa World Cup through an Andres Iniesta goal in the Final.
Safa president Danny Jordaan said the encounter will kick-start a number of high-profile games featuring top footballing nations against Bafana.
"It is the new Safa executive’s mission to make Bafana Bafana world-beaters again and we have lined up top-class sides to play our men’s senior national team," said Jordaan.
"We could not have asked for a better start of this campaign than with the game against the reigning Fifa World Cup champions.
"It is a dream come true for many soccer fans to once again see the likes of Iniesta and Xavi in action at the venue where they made history by lifting their first World Cup trophy. This is going to be a block-buster of a game."
The Spanish Football Federation (RFEF) said it was excited to be coming back to South Africa.
"We wish to demonstrate our gratitude for the wonderful hospitality of the South African sports authorities and the support of the country’s football fans during the 2010 South Africa World Cup, where Spain was proclaimed champion for the first time in history," said Spanish Football Association president Angel Maria Villar Llona.
"At the end of the match, played on 11 July 2010 at the same stadium, the top officials of the RFEF expressed their thanks for the support received and promised to return to South Africa to play a friendly match, in the same way we did in Vienna after winning the Euro 2008."
Safa CEO Dennis Mumble added: "We are excited by this honour to play Spain and we ask all football lovers to rush to buy their tickets for this rare occasion as soon as ticket sales open. More information will be released in the next few days."