During his playing days, he played at fly-half (first five-eighth) for the Blues and Lions in Super Rugby and for New Zealand internationally.
He has generally specialised in the position of fly-half, also known as "first five-eighth" or "number 10", although he has also played fullback (number 15) at national and international levels.
Spencer first rose to prominence when he starred alongside Christian Cullen in a Ranfurly Shield challenge in 1991, playing for the Horowhenua team against Auckland. Auckland coach Graham Henry spotted Spencer's talent and recruited him to play for the Auckland team.
He played for the Blues Super 12 team from the inception of the competition in 1996 until 2005, and for the Auckland NPC side.
In 1996, Spencer played for the Blues in the first ever Super 12-match, kicking off the professional era of rugby union. He went on to score 608 points for the Blues in the Super Rugby competition.
In 2005 he signed to the English club, Northampton Saints, where he stayed until 30 January 2009. On 3 February 2009 he signed for Gloucester on a 17-month contract.
In January 2010 Spencer signed with the Johannesburg-based Golden Lions, to play for the team in the 2010 and 2011 Super Rugby seasons. The contract offered to him was said at the time to be the highest ever in South Africa. He subsequently took up a coaching role with the team, before being released following the 2012 season. He moved to the Durban-based Sharks for the 2013 season.
In December 2013, he signed a five-year contract to become the kicking and specialist skills coach at Port Elizabeth-based side, the Eastern Province Kings. He was appointed as their head coach on 20 February 2014. He was in charge of just one Currie Cup season in 2014, where they achieved just one victory in ten matches. Brent Janse van Rensburg was appointed as head coach for the 2015 Currie Cup Premier Division season with Spencer reverting to kicking and specialist skills coach. However, Spencer left the coaching staff a month later.
Spencer first played for the All Blacks in a non-test tour match on 4 November 1995, but did not play his first test match until 1997. His test debut was against Argentina at Athletic Park in Wellington on 28 June that year. He scored 33 points in that match alone.
His All Black appearances as a starter were somewhat irregular thereafter, as Andrew Mehrtens was generally preferred as the first-choice flyhalf for the side during the period from 1995–2002. He was selected for the 1999 All Blacks World Cup squad but became injured in training at London, so did not play a match in that tournament. However, following an exceptional season for the Blues in Super 12, Spencer became first-choice first five-eighth for the All Blacks in 2003, and was a part of the squad for the Rugby World Cup that year.
In 2004, Carlos Spencer struggled to find the same form he had displayed the previous year, and Mehrtens replaced him for the final game of that year's Tri Nations. He was then ruled out of the final All Black tour of the year through injury. In 2005 Spencer lost form early in the Super 12 competition and then suffered a fractured cheekbone in training. He agreed to play for the New Zealand Māori (in his 10th match for that team) against the touring Lions, but made himself unavailable for the All Blacks so that he would not miss training for his new English club, Northampton Saints.
As a player, Spencer is valued for his imaginative kicking and passing game, and his ability to unlock defences. He is also a handy, if not entirely reliable, goal kicker. Only four players have scored more test points than Spencer for New Zealand — Grant Fox, Andrew Mehrtens, Daniel Carter and most recently, Aaron Cruden.
On 3 December 2011, Spencer stepped into the boxing ring against Rugby League's Awen Guttenbeil in Fight for Life 2011 in Auckland, New Zealand. The fight was controversially ruled a draw despite Spencer knocking down Guttenbeil with seconds remaining on the last round.
In 2006, Spencer was named in the Guinness Premiership Awards Dream Team and collected the Player of the Year award for the 2005–06 season at the Northampton Saints annual awards, as voted for by the clubs fans. He played in four matches for Bob Dwyer's World XV team in 2006, including a match for the Barbarians against England at Twickenham on 28 May and a 30-27 loss to the Springboks at Ellis Park on 3 June.