Kieswetter played junior cricket for Western Province until the age of 18, but a lack of progression led him to seek an alternative route in England. He studied at Millfield, where he was spotted by Somerset. The county's lack of a strong wicket-keeper gave Kieswetter his opportunity, and he made his debut for the team early in the 2007 season. He was qualified to play county cricket as his mother was Scottish, and his performances soon generated discussion about his potential to play for England. The captain of South Africa, Graeme Smith, made overtures to Kieswetter, inviting him to return to play in South Africa; Kieswetter, however, affirmed his desire to qualify and play for England.
In early 2010, Kieswetter achieved his target; some strong performances for the England Lions, especially in a match against the senior England team, won him a place in the squad to face Bangladesh. His selection, along with the presence of other South African-born players in the England team, was criticised, with some suggesting that there should be fewer foreign-born players in the team. He scored his first—and only—international century in his third match, and a couple of months later he was named as the man of the match as England won the final of the 2010 ICC World Twenty20. After a promising start for England, he was inconsistent and was dropped before the end of 2010. He returned to the team the following year, but his place in the team was always at risk, and in 2013 he was replaced by Jos Buttler, his team-mate at Somerset.
Kieswetter's career was cut short due to an injury sustained while batting for Somerset in July 2014: a ball penetrated the gap between his helmet's grille and visor and struck him in the face, damaging his vision. There was initially some hope of a full recovery and he was even named in a provisional England squad for the 2015 Cricket World Cup, however he continued to experience difficulties with his vision and, in June 2015, announced his retirement from professional cricket. Since his retirement from cricket, he has begun to develop a career as a professional golfer.
Kieswetter was born in Johannesburg to an Afrikaner father, Wayne, and Scottish mother, Belinda. He grew up in South Africa, studying at Diocesan College in Cape Town, and played cricket for Western Province junior teams between the ages of 13 to 18. Kieswetter was disappointed with the way he was treated by the provincial team, who had asked him to play two or three years of club cricket before returning to them, so he decided to pursue his cricket career in England. He studied for a year at Millfield, where he gained his A-levels. Mark Davis, a former Somerset bowler, spotted him at Millfield, and he was quickly signed by the county. He represented South Africa in the 2006 Under-19s World Cup in Sri Lanka, and won a Man of the Match award in the game against the United States for his innings of 80 off just 66 balls.
Kieswetter made his first appearance for Somerset's second team in May 2006, taking over from Sam Spurway as wicket-keeper midway through a match when the latter was injured. He scored 94 not out in his first innings of that match against Glamorgan, and by the end of the season he had scored 245 runs at an average of over 40. His performances were so strong that Somerset chose to release Spurway at the start of the 2007 season, and named Kieswetter alongside Carl Gazzard as their two wicket-keepers. In early April that year, he made his one-day debut for Somerset against Glamorgan; he made 69 not out off 58 deliveries and took a catch described as "world class" by Somerset's director of cricket, Brian Rose. He made his first-class debut the following month, keeping wicket while Derbyshire made 801 for 8 declared and scored 63 in the Somerset reply.
He continued to perform well during 2007 and 2008, and was awarded the NBC Denis Compton Award, as the "most promising young player", for Somerset in both seasons, scoring regular fifties in both first-class and one-day cricket. Notable among these innings was the 93 he scored against Glamorgan while batting at number eight. Kieswetter came in after two wickets had been lost in an over, with the score at 250 for 6. His innings, which included a partnership of 130 with Andrew Caddick, helped Somerset to reach 402 and eventually win the match. Towards the end of the 2008 season, during a 40-over match against Gloucestershire, Kieswetter scored his first century for Somerset, scoring 121 runs from 107 deliveries, and sharing a competition-record 302-run partnership with Marcus Trescothick.
In 2009, Kieswetter passed 1,000 first-class runs in a season for the only time during his career. He scored his maiden first-class century early in the year, accumulating an unbeaten 150 in a high-scoring draw against Warwickshire. A few weeks later, he repeated the feat, scoring 106 runs against Durham to help his county avoid defeat. In his report for ESPNcricinfo, Andrew McGlashan described Kieswetter as "another likely South African to make the transition to England colours". Kieswetter scored two further first-class centuries during the year, both at Taunton, against Sussex and Lancashire; he averaged just under 60 for his 1,242 first-class runs in the year. In one-day cricket, Kieswetter opened the batting alongside Trescothick, and averaged 65.83, scoring an unbeaten 138 off just 131 balls in the opening group match against Warwickshire. In the quarter-final of the 2009 Friends Provident Trophy, Kieswetter scored his second one-day century of the season, but Somerset were defeated by six wickets and knocked out of the competition. His 248 runs in the 2009 Twenty20 Cup helped Somerset reach the final of that competition, where they were again beaten by Sussex. He was awarded his county cap during the final game of the 2009 County Championship against Worcestershire.
Following his strong performances for Somerset, Kieswetter was part of the England Performance Programme squad that spent eight weeks of the English winter training in Loughborough and Pretoria. The South African national cricket captain, Graeme Smith, said that he wanted Kieswetter to return to play cricket in South Africa; rather than directly inviting him to play for the South Africa national cricket team, however, he was careful to state that "the challenge is to get him back into our franchise system first, but he is certainly someone we have seen and would like to get back into the system". Kieswetter repeated his desire to play international cricket for England and, in January 2010, he was named as part of the England Lions squad to tour the United Arab Emirates for a series against Pakistan A. The England head coach, Andy Flower, described Kieswetter's performances during that tour as "a really good start", and described the Twenty20 warm-up match between the England Lions and the England senior team that followed the tour as "a chance for him to impress". During that match, which was played on the day that he qualified for England, Kieswetter scored 81 runs to help the Lions beat the senior team. Kieswetter qualified to play for England on the basis of having a British passport, via his Scottish mother, and his residency in England. He had to wait until four years after his last appearance for South Africa, which was on 16 February 2006 during the Under-19s World Cup.
After England's drawn T20I series with Pakistan, Kieswetter was added to the senior England squad for the ODI series against Bangladesh. He was immediately included in the team, playing as a specialist batsman alongside wicket-keeper Matt Prior, in the first warm-up match on 23 February against the "Bangladesh Cricket Board XI". He scored 143, his career-best List A score, from 123 balls. These performances led to Kieswetter's selection for the first ODI against Bangladesh on 28 February. Opening the innings alongside captain Alastair Cook, Kieswetter struggled in his first over, edging a chance that was missed by wicket-keeper Mushfiqur Rahim, and surviving a leg before wicket appeal two balls later. He made 19 runs in an innings described by ESPNcricinfo's Andrew Miller as "tinged with nerves" and "chancy". In the next match, two days later, Kieswetter was dropped by Mushfiqur Rahim off a thick edge that went for four on first ball he faced; he was then caught at first-slip off a similar thick edge to first-slip on the next delivery. In the third match, however, he scored his first international century – 107 runs – which helped England to 284 for five and a 45-run victory. England won the series 3–0. In contrast to the "hard-hitting batting" which Geoff Miller, the England selector, had cited as one of the reasons for his inclusion, Kieswetter's century was patiently built after a nervous start.
When the England squad was announced for the 2010 ICC World Twenty20, Kieswetter was named as the only wicket-keeper in the squad, replacing Prior. Kieswetter opened the innings with Michael Lumb throughout the tournament, and ESPNcricinfo's Andrew McGlashan identified their performances as one of the reasons that England reached the final. During the final, Kieswetter was England's top-scorer, hitting 63 runs from 49 deliveries, and was named as the man of the match as England won their first ICC global title. During the tournament, Kieswetter scored 222 runs, the fourth-most of any player, at an average of 31.71 and a strike rate of 116.84.
After returning to England, Kieswetter's form dipped, and he scored 121 runs from eight ODIs against Australia and Bangladesh. As a result, when England played five ODIs against Pakistan in September, Kieswetter was omitted and Worcestershire's Steven Davies was preferred, although Kieswetter was included in the T20I squad. Kieswetter opened the innings alongside Davies, who was playing as wicket-keeper, in the two T20Is, but only made scores of six and sixteen. Although he was named in the T20I squad for the tour of Australia, he was not selected to play, and instead took part in the England Performance Programme XI tour, before joining up with the England Lions to take part in the Regional Four Day Competition in the West Indies. During the competition, Kieswetter scored two centuries, against the Leeward Islands and the Combined Campuses and Colleges.
Kieswetter began the 2011 season strongly for Somerset, scoring 308 runs in his first four one-day matches, including two centuries. Another century, in the County Championship prompted Jeremy James of ESPNcricinfo to ask "whether Craig Kieswetter will regain his place in England's one-day side before Jos Buttler assumes it ahead of him". His form earned him a recall to England's one-day squads for the series against Sri Lanka, with Geoff Miller saying "[Kieswetter] will offer some real fire power with the bat along with his ability with the gloves". In his first match back for England, the Twenty20 match, Kieswetter only scored four runs, but he was England's top-scorer in the first ODI match, with 61 runs, and was described as "England's most impressive batsman". He struck another half-century in the fourth match of the series: he scored 72 not out as England won by ten wickets. A week later, playing for Somerset against Nottinghamshire, he scored the highest score of his first-class career, accumulating 164 runs as part of a 290-run partnership with James Hildreth.
Kieswetter remained England wicket-keeper for the T20I and ODI matches against India late in the season. In the T20I, Jos Buttler, his fellow Somerset wicket-keeper, made his debut, albeit as a specialist batsman; Jonny Bairstow, the Yorkshire wicket-keeper, made his debut in the final ODI in a similar role. In that series, Kieswetter struggled against the moving ball in English conditions; he was praised, however, for his attacking batting, including 46 runs from 25 balls in the second match. Based on the number of appearances that he made for England, Kieswetter was awarded an incremental contract by the England and Wales Cricket Board (ECB) in September 2011. During England's subsequent 5–0 ODI series loss in India, described by the Wisden Cricketers' Almanack's Stephen Brenkley as "a tour too far for England", Kieswetter was the only England batsman to maintain a strike rate above 100. He scored one half-century during the tour, and was included in the England Lions squad that toured Sri Lanka three months later.
Playing for the Lions, Kieswetter moved into the middle-order, rather than opening the batting; this was intended to prepare him for a similar switch with the senior England team to allow Kevin Pietersen to open. He scored a century and a half-century to help England win the series 3–2, though he was outperformed by Buttler. In early 2012, playing against Pakistan in the United Arab Emirates, Kieswetter only batted twice in the ODI series, and was praised for his 43-run contribution in the fourth match, though George Dobell of ESPNcricinfo identified his wicket-keeping as "still not as polished as he would like". Although Kieswetter dropped down the order in ODIs, he retained his place opening the batting in T20Is. In contrast to the 2010 World Twenty20, when the England players were told to attack bat selflessly, in 2012 the team was instructed to avoid losing early wickets, and Kieswetter struggled to adapt his game to score low-risk singles and rotate the strike. During the 2012 ICC World Twenty20, he lost his place in England's T20I team after a match against New Zealand in which he scored four runs from fourteen balls. That was the final international Twenty20 match of his career. In his 25 matches, he scored 526 runs at an average of 21.91 and a strike rate of 111.91. Despite his struggles in international cricket, Kieswetter had a successful season with Somerset; he scored 848 first-class runs at an average of just over 60, including a century against Warwickshire and one for the Lions against Australia A.
The following year, Kieswetter retained his place in the ODI team for the tour of India, although ESPNcricinfo's Alex Winter suggested that it might be due to "England's desire to protect the workload of their players ahead of back-to-back Ashes series." Winter's colleague, Dobell, described the England ODI wicket-keeper position as one of England's key areas requiring resolution, citing both Bairstow and Buttler as candidates to take over, as well as the possibility of Matt Prior, the England Test wicket-keeper, reclaiming the role. Kieswetter played the first three ODIs of the series, scoring 24 not out, 18 and 0 before he was dropped and replaced by Buttler. Dobell described Kieswetter as "perhaps... a little unfortunate", but cited his inability to adjust his game and the number of balls he blocked as the reasons for his removal. He played 46 ODIs, scoring 1,054 runs at an average of 30.11.
The competition between Kieswetter and Buttler for England's one-day wicket-keeping role also caused conflict at Somerset for the 2013 season: both players wanted to fulfil the role for the county. Kieswetter began the season as the wicket-keeper in the County Championship, but broke his thumb during the third match of the season, which kept him out of action for six weeks. Kieswetter had a particularly strong Twenty20 season, finishing as the leading run-scorer in the 2013 Friends Life t20 with 517 runs, including five half-centuries. He scored a late-season century against Warwickshire in the County Championship, but in a season in which Somerset struggled against relegation, he scored a relatively modest 606 first-class runs at an average of 31.89. At the end of the season, Buttler, whose contract with Somerset had expired, announced that he was joining Lancashire, leaving Kieswetter as the clear first-choice wicket-keeper at Somerset.
Kieswetter signed with the Brisbane Heat for the 2013–14 Big Bash League, During the tournament, he scored 192 runs from eight matches including two half-centuries. He entered the 2014 Indian Premier League auction, but remained unsold. He was called up as a late replacement for the injured Luke Wright for England's squad in the 2014 ICC World Twenty20, but was not selected to play. He began the 2014 season positively for Somerset, particularly in the Twenty20 competition, in which he scored six half-centuries in ten innings, averaging just under 50.
On 12 July 2014, Kieswetter suffered a broken nose and fractured cheek bone while batting for Somerset against Northamptonshire in a County Championship match. The bowler, David Willey, delivered a short-pitched bouncer which went through the gap between the grille and the visor on Kieswetter's helmet and struck him in the face. The injuries were initially described by Somerset's chairman, Andy Nash, as "serious but non-career threatening". He underwent facial surgery, and suffered from double vision for a while after. He returned to the Somerset side before the end of the 2014 season and scored a half-century in his first match back, against Middlesex, though he admitted that his vision was still not fully recovered. Kieswetter signed for the South African franchise Warriors as their overseas player to play in the Ram Slam T20 Challenge for the 2014–15 season. He played all ten matches for the Warriors, scoring 199 runs at an average of 22.11, including two half-centuries.
On 10 December 2014, despite having been named in England's 30-man provisional 2015 Cricket World Cup squad, Kieswetter revealed that he was still suffering vision problems. He announced that he would not play in the 2015 season and would seek further treatment. The following June, he announced his retirement from professional cricket, saying that, although he was still capable of playing, he could not play to the standard he wanted; "In the end I just thought, there are too many mediocre players in county cricket – and good luck to them – but I don't want to be another one." He found batting in floodlit conditions particularly difficult, and described the vision in his right eye as being "only at 80 or 85 percent". He finished his career with similar statistics in first-class and List A cricket; in both he averaged just under 40 and had scored eleven centuries. In Twenty20 cricket, his highest score was 89 not out, and he averaged just over 30. In an interview with ESPNcricinfo shortly after his retirement, Kieswetter said that he would be interested in working in the media, perhaps as part of a commentary team for Twenty20 matches.
Kieswetter's confident and attacking batting style was compared to that of Kevin Pietersen, another England batsman of South African origin. Although Kieswetter favoured the off-side, he was also strong behind square on both sides, and stood with a typical South African stance, his bat held high. He was generally more highly regarded for his batting than his wicket-keeping, often drawing criticism for the quality of his glovework. For a couple of matches during 2012, he was used as an off spin bowler by Somerset, collecting three wickets.
Somerset experimented with Kieswetter throughout the order, trying to find the most effective place for him. He began as a middle-order batsman, but by the end of the 2007 season, although he remained in the middle-order in first-class cricket, Kieswetter regularly found himself opening the batting alongside Marcus Trescothick in one-day cricket, a role he would also take up in opening six matches of the 2009 Twenty20 Cup, although he later dropped back into the middle order to improve the balance of the side. On his international call-up, England chose to utilise Kieswetter as an opening batsman. He was selected "because of his proven ability to pierce the field in the Powerplay overs, particularly with his booming drives up and over the covers." He later moved down the order for England to accommodate Kevin Pietersen as opener.
After his retirement from cricket, Kieswetter's father suggested that he take a break and play some golf. He had played some golf during his youth in South Africa, playing in provincial tournaments. After some lessons with David Leadbetter, who suggested that he try and become a professional golfer, Kieswetter began to enter amateur tournaments. After performing well in those events, he set himself a target of going professional, and becoming a regular on the PGA European Tour. In late 2016, he took part in a couple of PGA EuroPro Tour tournaments, before joining the MENA Golf Tour the following year. He finished 2016 ranked 1,866th in the world.