Mair began his career as a youth player with Dundee. To gain first team experience, he went on loan to East Fife in February 2001 and made his senior debut for them against Peterhead. He remained with East Fife until the end of that season, making thirteen first team appearances in the starting eleven and scoring twice. The 2001–02 season saw Mair loaned out to Falkirk, where he was a first team regular, making 25 starts and one appearance as a substitute before returning to Dundee. He made his Dundee debut against Hearts in the first match of the following season and went on to make 34 appearances, including the 2003 Scottish Cup Final appearance against Rangers. Established as a first team regular, Mair missed only two games during the 2003–04 season to bring his total appearances for Dundee to 79. He left the club at the end of that season to join Stockport County where he made 17 appearances. After six months at Stockport, Mair joined Dundee United in January 2005. Dundee managerJim Duffy believed Mair had already committed to a return to the club, calling Mair's actions a "personal betrayal". After seven appearances for his new club, Mair sustained a knee injury during a training session that ruled him out for the rest of the season. After regaining fitness, he started the opening match of the 2006–07 season against Falkirk, scoring his first Dundee United goal in the 2–1 win over Rangers in November, in Craig Levein's first match as manager. At the start of the 2007–08 season, Mair left Dundee United and joined Aberdeen. In June 2009, Mair signed for St Mirren from Aberdeen on a three-year contract. He played over 100 games for St Mirren before extending his contract for another two years in March 2012. Mair signed for Scottish Premiership club Partick Thistle in January 2014 on an initial six-month contract, after terminating his contract with St Mirren. He made his debut for the club during a 1–1 draw with Kilmarnock, on 18 January 2014. He scored his first goal for Partick at Firhill on 15 March 2014 vs Hibernian, with a header coming from a Kallum Higginbothamfree kick. His contract was not extended beyond the end of season 2013–14. Mair signed for Dumbarton in July 2014. He scored his first goal for the club in a 3-1 win over Cowdenbeath in December 2014. After revealing he would not play for the club again due to a contract dispute, he left Dumbarton in May 2015. Mair then signed for Scottish League One side Stranraer as player-assistant manager. He retired at the end of the 2015–16 season after leaving Stranraer.