The South Africa Football Association has announced Bafana Bafana will play Norway in Cape Town on 8 January.
The match comes 11 days before South Africa begin their Africa Cup of Nations campaign.
Cape Town was not chosen as one of the venues for the Nations Cup, losing out to bids from Durban, Port Elizabeth, Rustenburg, Nelspruit and Johannesburg.
It is just the second game to be played at the stadium since the 2010 World Cup, for which it was purpose-built.
South Africa coach Gordon Igesund is looking forward to taking on the Norwegians.
"Norway is a quality opponent and we are grateful that we get the chance to play them as we near the end of our preparations for the 2013 Africa Cup of Nations," he said.
"It affords me an opportunity to fine tune my final combination that will play in the tournament, so this will be a good test for us and will help us gauge our readiness."
South Africa beat Norway 2-1 in 2009 and coach Egil Olsen is looking forward to trying to get some revenge.
"We played South Africa prior to the 2010 Fifa World Cup and we unfortunately lost. I personally hope that this is not going to happen again," said Olsen.
"To play Bafana in South Africa in January is a good start to the 2013 year for us.
"We are preparing for the 2014 World Cup qualifiers starting in March next year and we have a bunch of young players knocking on the door right now."
Igesund is hoping to have one more friendly after Norway ahead of the Nations Cup.
He said he would ideally like to play North African opposition because they have Morocco in their Nations Cup group.