Petersen was born and raised in the township of Gelvandale in Port Elizabeth and attended the same state high school as fellow South African Test batsman Ashwell Prince.[1] His father was a taxi driver.[2] He started playing first class cricket in 2001, representing the Northerns cricket team.
In 2011, Petersen signed for Glamorgan County Cricket Club for the 2011 English county season, replacing Jamie Dalrymple as the county's captain.[3] Petersen was Glamorgan's top run scorer in every competition. He scored his first double hundred in first class cricket (210) against Surrey at the Oval and was named Glamorgan's player of the year.[4] He returned to South Africa at the end of the county season to play for the Highveld Lions.
On 13 February 2012, Essex confirmed Petersen will join the club for the first half of the county season.[5] Petersen could not rejoin Glamorgan as a Kolpak player as he won his place back in the South Africa Test team at the start of 2012.[clarification needed] Petersen commented that he wished to stay at Glamorgan:
"My agent gave Glamorgan a proposal which they didn't accept... [Glamorgan] can only sign one overseas [player]... We proposed something but [it was] rejected... Just to put the record straight, I enjoyed my time with Glamorgan, and yes, would have wanted it to continue"
He left Essex 31 May 2012. In July/August 2012 Petersen opened the batting for South Africa in their three match series in England, scoring 182 in the drawn second test at Headingley. Petersen was given out twice in this innings but was saved on both occasions by the Decision Review System (DRS).
Petersen joined Somerset as their overseas player for the first part of the 2013 season.[6] On 31 October 2013, Petersen re-signed for Somerset to be their overseas player for the 2014 season.[7]
In 2015, Petersen joined his 4th English county, Lancashire. He scored over a thousand runs in the 2016 County Championship and was successful in white ball cricket too including a hundred vs Leicestershire at Grace Road.[8][9]
International career
He played for South Africa A before breaking into South Africa's ODI squad in 2006, playing in two matches against Zimbabwe.
After a string of high scores in domestic arena in 2011, he was recalled to South Africa's side for the third Test of the home series against Sri Lanka, replacing the dropped Ashwell Prince. Opening the batting in the first innings, he scored his second Test century (109).[14]
On 6 January 2015, following South Africa's victory in the third Test against the West Indies, Petersen announced his retirement from international cricket and that he would take up a Kolpak deal in English county cricket.[15] Petersen subsequently signed a two-year contract with Lancashire, on 22 January 2015.[16]