Barnes pelasi Leicester Cityn juniorijoukkueissa mutta nousi liigapelaajaksi lainasopimuksella Milton Keynes Donsissa, jossa hän pelasi ykkösliigaa 21 ottelua ja teki niissä kuusi maalia kauden 2016–2017 kevätpuoliskolla. Seuraavan syksyn hän pelasi lainalla Barnsleyn joukkueessa mestaruussarjaa 23 ottelua ja teki niissä viisi maalia. Huhti-toukokuussa 2018 hän pääsi muutamaksi minuutiksi kentälle Leicester Cityn kolmessa valioliigaottelussa. Heinäkuusta 2018 tammikuuhun 2019 Barnes oli lainalla West Bromwich Albionissa ja pelasi mestaruussarjassa 26 ottelua, joissa hän teki yhdeksän maalia. Kevätkaudella 2019 hän pelasi Leicesterissä 16 valioliigaottelua ja teki ensimmäisen valioliigamaalinsa huhtikuussa vierasottelussa West Ham Unitedia vastaan. Kaudella 2019–2020 hän teki Valioliigan 36 ottelussaan kuusi maalia ja antoi kahdeksan maalisyöttöä. Seuraavalla kaudella hän viimeisteli 25 liigaottelussa yhdeksän maalia, mutta oli polvivamman vuoksi sivussa helmi-maaliskuun vaihteesta lähtien. Saman kauden Eurooppa-liigan kahdeksassa ottelussa hän teki kolme maalia ja FA Cupissa hän ehti pelata kaksi ottelua Leicesterin mestaruustaipaleella.