Born in Johannesburg, he was named Andrew, but was called Butch by his grandmother because he was a boisterous baby and was on the move all the time. He says he and his family have become used to the name, though his mother still calls him Andrew from time to time.
He made his Super 12 debut in 2001 for the Sharks against the Bulls and later that year made his first appearance for the South African team as fly-half against France at the age of just 21. He kept his place in the team throughout the 2001 Tri-Nations series, but then had to have two major operations, one on each knee, which required a long recovery time.
It was 2006 before he made his long awaited return to Test rugby in the South African 2006 Tri-Nations team and he then became a member of the South Africa squad that toured England and Ireland that autumn. Despite further injury trouble, he began 2007 as the Springbok No 1 fly-half and remained in the side as a regular up to and including the Rugby World Cup.
After his success in the Rugby World Cup, he joined English club Bath and played for them 68 times, scoring 389 points. He then returned to South Africa to play for the Lions and the Sharks until retiring from playing at the end of 2013.