Buchanan grew up in the Victorian town of Colac, west of Melbourne. He played football for Colac and the Geelong Falcons Under 18's team, winning a premiership with the Falcons in 2000 and subsequently being selected by the Sydney Swans in the post-season National Draft. He made his senior debut in Round 11 of the 2002 season against West Coast. By the end of 2002, he had played six matches, but had a disappointing season the next year, suffering knee and ankle injuries, not playing a single senior game and being delisted. However, he was redrafted by the Swans, and had established himself as a regular member of the team by the second half of 2004. During Sydney's 2005 premiership-winning season, Buchanan played in every match, making useful contributions in the midfield and kicking the final goal of the Grand Final against West Coast.
At the end of the 2009 season, Buchanan was traded to the Brisbane Lions as part of a three-way deal with West Coast and Sydney. He was given the number 33 guernsey, vacated by Rhan Hooper and made famous by Darryl White. He made his debut for the Lions in their Round 1, 2010 clash against West Coast at the Gabba. He retired from AFL football at the end of the 2012 season.