Cavanaugh played for the Boston University Terriers from 1998–2001. After college, Cavanaugh was drafted (2nd round; 38th overall) by the Calgary Flames. He was a member of the Houston Aeros from 2001–05, where he helped the team win the Calder Cup in 2003. In 2005, Cavanaugh signed with the Philadelphia Phantoms to start the 2005–06 season. He then played 26 games for the Phantoms before being traded to the Springfield Falcons, where he played through the 2006–07 season. The following season, Cavanaugh left the AHL to play with the SG Pontebba in the Italian Hockey League. Cavanaugh then spent the 2008–09 season with EC VSV in the Austrian Hockey League.