[3] In 1999, Holmes left Hearts and joined Ross County where he spent two seasons, achieving some success by consistently getting on the scoresheet.
[3] In July 2008, Holmes completed a free transfer move to Scottish First Division side St Johnstone on a one-year deal.
[6] In the 4–1 win away to Dunfermline on 26 September 2009 that put Queens top of the table, Holmes took on the role of penalty taker in the absence of the injured Steve Tosh.
This is an unusual achievement for Holmes whose game is based more on linking forward play and creating chances for teammates as opposed to being a goal grabbing striker.
On 7 November 2009, Holmes added another vital goal to his tally, the only score a 1–0 away win to Ayr United to keep Queens top of the table.
[9] In David Lilley's absence through suspension, Holmes deputised as captain for Queens on 6 April 2010 against Ross County, one of his former clubs, at Victoria Park, Dingwall in a 1–1 draw.
[13] Holmes signed for Airdrie United in July 2011, and left after one year, having scored 4 goals in 32 league appearances.
[16] Despite steering the club to the semi-finals of the 2017–18 Scottish Junior Cup, Holmes was sacked by Wishaw in May 2018,[17] but re-entered management the following month with Larkhall Thistle.