Dillon was a youth player with Aston Villa but moved back to Ireland in 2002 with Longford Town, where he won two FAI Cups and a League of Ireland Cup during his four years at Flancare Park. In 2006, he moved to Shelbourne and helped them to their thirteenth league championship win, also scoring the only goal of the game in Shels' Intertoto Cup win in Lithuania over FK Vėtra. In January 2007, Dillon moved to Scottish side Dundee United for an undisclosed fee.[2]
In March 2008 he collected a Scottish League Cup runners-up medal despite being an unused substitute in the final.[3] However, on 15 May 2010, he was then a part of the Dundee United team who defeated Ross County 3–0 to lift the Scottish Cup at Hampden Park.[3]
Not long after the beginning of the 2012–13 season Dillon signed a contract extension that would keep him at the club until May 2015.[4] He was then appointed club captain by manager Jackie McNamara for the 2013–14 season.[5]
On 30 June 2017, it was announced that Dillon had signed a two-year contract as a player-coach with Montrose.[6] In the 2017–18 season Dillon didn’t miss a game, as the gable endies clinched the Scottish League 2 title by one point. In 2019, Dillon signed a contract extension keeping him at Montrose until summer 2021, with manager Stewart Petrie crediting him with having a "huge influence on the teams success" since his arrival.[7] In December 2022, Dillon agreed a one-year extension with Montrose which would keep him with the Gable Endies until 2024.[8]