The batter who has scored centuries and also 1000 runs for two separate countries in test cricket is Kepler Wessels. He scored a century in his first Test innings against England for both countries: 162 in Brisbane in 1982-83, and 105 in a huge win at Lord’s in 1994, when he captained South Africa in their first Test in England since 1965.
(source: Gettyimages)