Botha began his career as an ordinary medium pacer for the Eastern Cape Warriors - by his own admission quicker than 125 km/h. It was only after Mickey Arthur, the former coach of the national team, had a look at him in the nets and saw potential as a spinner that Botha dropped his ambitions for speed. Spurred on by Arthur's comments that he would do well to turn to spin, Botha remodeled his action and began studying the art of the off spinner and doosra in hopes of emulating the likes of Muttiah Muralitharan and Harbhajan Singh. A successful tour of Sri Lanka with the South Africa A side - in which he took key wickets as well as scoring runs - saw Botha's name penciled in as a potential spinning all-rounder.
A determined and fiercely competitive individual, Botha found a place in the squad to tour India for a five-match one-day series after Nicky Boje pulled out over security concerns in regard to charges of match fixing. He played in the first match at Hyderabad and produced a spell of 31 runs from six overs with the wicket of Irfan Pathan, bowled through the gate. Both Arthur and Graeme Smith rated him highly enough to see him as a vital part of the sides world cup campaign.
He made his Test debut against Australia at the Sydney Cricket Ground in January 2006 during the 2005–06 tour, and claimed batsman Mike Hussey as his first Test wicket. However, he was reported for throwing the ball at the conclusion of the match. He was allowed to play several games during the 2005–06 VB Series, but in February, was suspended from bowling following an analysis by bowling expert Bruce Elliott. He hoped to return to bowling after an examination by the ICC in August 2006, but he was found still to be straightening his arm more than the acceptable 15 degrees. On 21 November 2006, Johan Botha's action was passed by the International Cricket Council and he was again eligible for selection by the South African national team.
He made his comeback during the 2007 Afro-Asia Cup and returned to the South African one-day team during the tour of Pakistan in 2007–08.
On 14 April 2009, he was again reported for suspected illegal action. The match officials cited concern over two components of Botha's repertoire, his quicker ball and his doosra, after the completion of fourth ODI against Australia at Port Elizabeth. On 12 May 2009 the ICC announced that Botha's doosra ball had been deemed 'illegal' by an independent test and that he would not be allowed to bowl the delivery in international cricket. The same test found his off-break and arm-ball deliveries to be bowled within the permitted tolerance level of 15 degrees of elbow extension.
The test was carried out on 30 April by Prof. Bruce Elliott, member of the ICC Panel of Human Movement Specialists, at the School of Sport Science, Exercise and Health, University of Western Australia, Perth. The doosra delivery was found to have an extension of 26.7 degrees and no single delivery tested was within the legal limit. Botha was told that he could re-apply for the delivery to be tested again once he had modified it, or appeal the decision within 14 days.
Botha bowling in the Adelaide Oval nets, January 2009
However his action was then deemed within the legal limits.
On 20 August 2010 Graeme Smith announced that he was to surrender the captaincy in T20 Internationals but continue playing in the format. Cricket South Africa subsequently handed over the captaincy to his deputy Botha. Botha also took the One-Day International captaincy after the 2011 Cricket World Cup when Smith gave up his ODI captaincy. The deciding factor was that Botha had led South Africa to a series win against Australia earlier in 2010 when Smith was absent with injury. Botha's first match as permanent captain was on 7 October 2010 against Zimbabwe. Zimbabwe scored what looked like a competitive 168 however Zimbabwe's bowling attack severely let them down and it was easily chased by the South Africans with seven-wickets and five-overs to spare.
Johan Botha has played for 2 Teams in the IPL.One for Rajasthan Royals and one for Delhi Daredevils.In IPL 2015,Chris Lynn(who was playing for Kolkata Knight Riders)got injured,and Johan Botha was signed in as a replacement for Chris Lynn.