Wilson genoot zijn jeugdopleiding bij Manchester United. In 2004 vertrok hij naar Portsmouth. Die club leende hem meermaals uit. In maart 2006 werd hij voor het eerst uitgeleend aan Yeovil Town; een jaar later werd hij tweemaal uitgeleend aan Bournemouth en daarna aan Luton Town. Op 31 augustus 2010, de laatste dag van de zomerse transferperiode, tekende hij een contract bij Stoke City. Wilson debuteerde voor "The Potters" op 13 september 2010 tegen Aston Villa. Hij maakte een goede indruk, maar had moeite met het fysieke spel van Aston Villa-middenvelders Stilijan Petrov en Nigel Reo-Coker. Hij werd kort na rust naar de kant gehaald. Op 24 oktober 2010 maakte hij voor het eerst de 90 minuten vol tegen Manchester United. Op 26 december 2010 maakte hij zijn eerste doelpunt voor Stoke tegen Blackburn Rovers. In oktober 2012 tekende hij een nieuw contract, waardoor hij nog tot medio 2014 vastlag in Stoke-on-Trent; later zou hij opnieuw verlengen. Wilson stond op 14 mei 2011 met Stoke City in de finale van de strijd om de FA Cup. Daarin verloor de ploeg van trainer-coach Tony Pulis met 1–0 van Manchester City door een treffer in de 74ste minuut van Yaya Touré. Sinds 2011 kent Wilson een basisplaats in het elftal van Stoke.