He attended Melbourne High School and played for Melbourne High School Old Boys following his schooling. It was from MHSOB that he was drafted in 1999, at the relatively old age of 20. He was Melbourne's last selection in that year's draft, taken as the club's sixth pick, and 64th overall, behind team-mates Brad Green, Paul Wheatley and Matthew Whelan.
At 20, and after one year in Melbourne's Junior Development Squad, he made his debut for the Demon senior side against Richmond in Round 1 of the 2000 season, kicking a goal with his first kick in AFL football. He played in Melbourne's impressive run to the Grand Final, but had to withdraw from the final match of the season due to injury. Given the number 32 guernsey, he quickly adapted to AFL football, receiving a Rising Star nomination in his debut season, and finishing runner-up to David Neitz in the club's best-and-fairest in 2002. He was a member of the International Rules sides of 2002 and 2004.
Bruce developed his game as a midfielder, but from 2005 he has been used in attack, across half-back and also as a tagger – the latter role seen notably through his tagging of high-profile players such as James Hird, Chris Judd, Adam Goodes and Nathan Buckley. Because of his ability to adapt to new positions and roles within the side, versatility is often highlighted as one of his main strengths, and he has been regarded as the most versatile player in the league at various stages throughout his career. He enjoyed a solid run of form in 2004, which he carried through to the 2005 season – enjoying a particularly fruitful period early in the season – before suffering a serious shoulder injury sustained from a heavy tackle which ended his season prematurely.
In 2006, he played a pivotal role in Melbourne's eight-game winning run, which came on the back of losing their first three matches of the season. He kicked the winning goal against Sydney in round 4 and received 10 Brownlow votes throughout the season, his most in a season to date. He finished second in the club's best-and-fairest and had one of his more consistent seasons – he was one of only two players to average more than 22 disposals and kick more than 20 goals for the season. (The other was Chris Judd.) The 2007 season was hugely disappointing for Melbourne, where they were unable to convert narrow losses into wins and being outclassed on other occasions. Bruce celebrated his 150-game milestone in Round 4, and averaged 24 possessions for the season. He achieved a career-high of 35 possessions against the Kangaroos in Round 9, but his goal tally was well down on previous seasons, kicking just nine majors for the season. His preparations for the 2008 season were hampered by injuries suffered in pre-season, but he was selected in Round 1 and played in the first fourteen matches of the season for Melbourne. New Demons coach Dean Bailey used Bruce chiefly in defence in the early stages of the season, where he picked up Brad Johnson and Cameron Mooney among others. Bailey handed Bruce a more attacking role during the middle of the season, generally playing either off half-back as a rebounding defender, or on the wing. Bruce kicked two goals in all three of Melbourne's wins for the season. He played in all 22 of Melbourne's matches for the season (the only Demon player to do so) and averaged more than 24 disposals per game. He won Melbourne's best-and-fairest for the season, polling 75 votes – 15 more than second-place Brock McLean.
Following the retirement of David Neitz in 2008, Bruce was named co-captain of the team alongside James McDonald for the remainder of the season. This came on the back of his role in the leadership group in 2007. McDonald was named as permanent captain for 2009, with Bruce as vice-captain. Bruce resumed his place in the midfield for 2009 and rotated equally between the forward- and back-flanks. He recorded 30 disposals and nine marks against Collingwood in Round 2. He kicked the 200th goal of his career in a 22-point loss to Hawthorn in Round 9. Bruce played his 200th game in round 16, 2009.
He is known by fans of The NRL Footy Show for doing "That's Gold!" after scoring a goal against Collingwood in the traditional Queen's Birthday fixture in 2005. Bruce is often nicknamed "Cameron The Bruce", particularly by commentator Rex Hunt, a reference to the famous Scottish warrior Robert the Bruce.
In November 2010, it was reported that Bruce had been training with the Hawthorn Football Club, after being given permission by the AFL. Bruce was subsequently drafted by the Hawks with the fifth selection in the pre-season draft. A few hours after he had been drafted by the Hawks, Bruce had revealed on SEN, a Melbourne-based sports-talkback radio station, that he had already been handed the number 17 guernsey, made famous by Hawthorn legend, Michael Tuck.
Midway through the 2012 season, Bruce announced his retirement from football, citing a persistent back injury as the cause. He retired having played 234 AFL games, including 10 with the Hawks, and kicked 211 goals.
Bruce was appointed as a development coach with the Hawks in 2013. After impressing in his role as a development coach, he was promoted to a senior assistant coach with the Hawks in late 2013. On August 22, 2017 it was announced that Bruce would leave Hawthorn at the end of the 2017 season to become a senior assistant coach at Carlton.Individual
Keith 'Bluey' Truscott Medal: 2008
Melbourne F.C. Captain: 2008
Australian representative honours in International rules football: 2002, 2004
AFL Rising Star Nominee: 2000 (Round 8)