Karachi - Pakistan will play two Tests, five one-day internationals and a Twenty20 match against South Africa in the United Arab Emirates in October and November this year, officials announced on Monday.
South Africa had been scheduled to visit Pakistan in October but they refused to play in the country because of security concerns and the matches will now take place in Dubai and Abu Dhabi.
No foreign teams have toured Pakistan since six policemen and a driver were killed when militants attacked the Sri Lankan cricket squad's bus in Lahore in March 2009. Six players were wounded in the incident.
"This series will provide great entertainment for cricket fans as PCB and Cricket South Africa have worked hard to bring this event about and we are very excited to be returning to the world class facilities in the UAE," Pakistan Cricket Board (PCB) chairman Ijaz Butt told reporters.
Cricket South Africa chief Gerald Majola added: "The Proteas always enjoy playing Pakistan... we are especially delighted that the fans will get to see top flight cricket between these two teams."
The tour will take place from October 27 to November 24.