He made his Swindon debut two years to the day after his Derby debut in a 2–0 victory against Peterborough United. Holmes' loan deal was twice extended after he impressed during his first two months at Swindon. He scored his only Swindon goal during his final month in a 1–1 draw with Doncaster Rovers. Holmes played 15 league games for Swindon, winning the club's young player of the season award, before returning to Derby County. He made one final appearance for Derby in the 2004–05 season before he played in the 2005 UEFA European Under-19 Championship in Northern Ireland, scoring in England's 3–1 final defeat to France.