Collins stroomde in 2000 door vanuit de jeugdopleiding van Cardiff City. Dat verkocht hem in juli 2005 voor €2.000.000,- aan West Ham United. Op 1 september 2009 tekende Collins een vierjarig contract bij Aston Villa, waarvoor hij op 13 september debuteerde in een derby tegen Birmingham City. In totaal speelde hij 91 wedstrijden voor The Villans. West Ham haalde Collins op 1 augustus 2012 terug naar Upton Park, waar hij een vierjarig contract tekende en het shirtnummer 19 kreeg toegewezen. Bij zijn tweede "debuut", op 18 augustus 2012 tegen zijn voormalige werkgever Aston Villa, werd hij tot man van de wedstrijd verkozen.
Collins maakte op 27 mei 2004 zijn debuut voor Wales, in een interland tegen Noorwegen. Op 13 oktober 2007 maakte hij zijn eerste interlanddoelpunt, tegen Cyprus. Met Wales nam Collins deel aan het Europees kampioenschap voetbal 2016 in Frankrijk. Wales werd in de halve finale uitgeschakeld door Portugal (0–2), na in de eerdere twee knock-outwedstrijden Noord-Ierland (1–0) en België (3–1) te hebben verslagen.