The Springboks will face the All Blacks at Ellis Park during the 2015 Rugby Championship.
The match, to be held on 25 July, will be their first at home in 2015, while they will face Argentina two weeks later at Kings Park.
The fixtures are part of a shortened schedule for the Rugby Championship, giving teams more time to prepare for the World Cup, which begins in mid-September.
Durban was due to host the Boks’ home match against Australia, which was one of the matches to be removed from the schedule. It will now receive the visiting Pumas while Newlands, which was due to host that Test, will be the venue for a match against a World XV on either 22 or 29 August.
The match against New Zealand was always scheduled to be held in Johannesburg.
Saru CEO Jurie Roux said the recent practice of hosting New Zealand only at Johannesburg venues had been reviewed during the allocation process.
'Member unions have made a case for hosting the drawcard of a Springbok vs All Blacks match at their venue and we have heard them,' he said. 'In the next round of allocations from 2016 onwards that fixture will be moving around the country including to coastal unions such as Western Province and KwaZulu-Natal.'
Springboks 2015 fixtures:
18 July: vs Wallabies – Brisbane (Rugby Championship)
25 July: vs All Blacks – Johannesburg (Rugby Championship)
8 August: vs Argentina – Durban (Rugby Championship)
15 August: vs Argentina – TBC (Test)
22/29 August: vs World XV – Cape Town (Friendly)
19 September: vs Japan – Brighton (World Cup)
26 September: vs Samoa – Birmingham (World Cup)
3 October: vs Scotland – Newcastle (World Cup)
7 October: vs USA – London (World Cup)
Photo: Bruce Taylor/BackpagePix