Milne began his career with Dundee, making two appearances midway through the club's 1997–98 Scottish First Division title-winning season. Failing to appear in the club's Scottish Premier League campaign the following season, Milne spent the entire 1999-00 campaign on loan at Forfar Athletic, scoring 16 goals in 35 league matches. Returning to Dens Parkin the summer, Milne featured in over twenty first-team matches, scoring four times as Dundee finished the inaugural twelve-team season in the top six. The following season, Milne featured in the majority of matches, although his five goals failed to lift Dundee higher than ninth place. In 2002–03, Milne again featured regularly, appearing as a substitute in Dundee's narrow Scottish Cup Final defeat to Rangers. The 2003–04 season proved to be Milne's final year with the club, scoring eight goals in 20 league appearances as Dundee were denied a top six place on goal difference. In April 2004, with Dundee trying to come out of administration, Milne was one of five players offered a new contract on "significantly reduced terms". A month later, Milne rejected Dundee and other SPL clubs to join Plymouth Argyle. Featuring prominently as a substitute in the first three months of the season, Milne sustained an injury that kept him for several months, returning to training in February and making his comeback towards the end of April. Failing to start a match during that season, Milne was allowed to leave on a free transfer, subsequently joining Perth club St Johnstone in June 2005 on a three-year deal. In July, he scored on his Saints debut in a Scottish Challenge Cup first-round win over Alloa, before going on to score a hat-trick against Raith Rovers in the third round. By 20 September 2006, Milne had scored nine goals in ten games in all competitions and five goals in as many league games of the 2006–07 season. On 8 November 2006, Milne scored both goals in St. Johnstone's 2–0 League Cup win over Rangers at Ibrox, which put the Perth side into the semi-finals. Defining it as the high point of his career this far, Milne later won the 'Player of the Round award' for his achievement. In December 2007, Milne signed a new two-year contract, contracting him to the club until May 2010. He signed a 12-month contract extension with St Johnstone in February 2009, keeping him at the club until the summer of 2011. In December 2010, Milne was told that he would be allowed to join a new club, along with three other players. He joined Ross County on a contract until the end of the 2010–11 season in January 2011. Milne signed for Dundee in June 2011, seven years after leaving the club to join Plymouth Argyle, having requested to be released from his contract with Ross County. Milne was Dundee's top scorer in their 1st Division season, scoring a total of 15 goals throughout the year, 11 of them in the league. Manager Barry Smith offered Milne another 1-year contract which he accepted, to stay with The Dees. Dundee finished the season in second before being invited into The Scottish Premier League to replace the liquidated Rangers, meaning Milne would be playing SPL football in the 2012/2013 season. He was given squad number 15 for the season. Milne spent a few months with Arbroath in League One before leaving them in November 2013 to start a new career with Police Scotland. His last match was a 0–3 defeat at home to Rangers on 25 November 2013. He was appointed player-manager of Junior side Forfar Albion in July 2014.