Barnes aloitti uransa Paulton Roversissa, jota hän edusti vuoteen 2007 asti. Vuonna 2007 hän siirtyi Englannin mestaruussarjassa pelanneeseen Plymouth Argyleen, jossa hän ei pelannut kolmen vuoden aikana kuin 22 peliä, joissa syntyi kaksi osumaa. Suurimman osan Plymouth-ajastaan Barnes vietti lainalla muissa seuroissa. Vuonna 2010 hän oli lainalla ykkösliigan Brighton &amp; Hove Albionissa, jossa hän teki kahdeksassa pelissä neljä maalia. Kesällä 2010 Brighton osti Barnesin itselleen. Huhtikuussa 2011 Barnes iski ratkaisevan maalin Dagenham &amp; Redbridgeä vastaan, joka nosti Brightonin Mestaruussarjaan. Barnes pelasi Brightonin paidassa vuosina 2010–2014 141 peliä, joissa hän onnistui maalinteossa hienot 42 kertaa. Tammikuussa 2014 Barnes siirtyi niin ikään Mestaruussarjassa pelanneeseen Burnley FC:hen, joka onnistui nousemaan kauden 2013–2014 päätteeksi Valioliigaan. Barnesin valioliigadebyytti tapahtui elokuussa 2014 Chelsea FC:tä vastaan ja avausmaalinsa Valioliigassa hän puski marraskuussa 2014 Hull Cityn verkkoon. Hän teki ensimmäisellä valioliigakaudellaan viisi maalia. Seuraavan kauden Burnley pelasi mestaruussarjassa mutta nousi keväällä 2016 takaisin Valioliigaan. Tämän jälkeen Barnes on kausittain tehnyt Valioliigassa kuusi, yhdeksän ja 12 maalia. Valioliigakauden 2019–2020 hän aloitti tekemällä kolmessa ensimmäisessä ottelussa yhteensä neljä maalia. Viidennen maalin hän teki kauden 11. liigaottelussaan ja kuudennen maalin kauden 12. liigaottelussaan. Hän pelasi kauden 19 liigaottelustaan viimeisen uudenvuodenpäivänä ja meni tammikuussa tyräleikkaukseen.