Barnes jest wychowankiem szkółki piłkarskiej klubu Derby County, z którym podpisał profesjonalny kontrakt w dniu swoich 17. urodzin. Zadebiutował w zespole już dziewiętnaście dni później, w pucharowym spotkaniu z Grimsby Town. Na początku 2006 roku, Barnes był już podstawowym zawodnikiem swojej drużyny, a pierwszą bramkę w rozgrywkach ligowych strzelił 24 marca, w spotkaniu z Watford.
W sezonie 2006/2007, Barnes był kluczowym zawodnikiem zespołu prowadzonego przez Billy'ego Daviesa, który awansował do Premier League. Rozegrał 46 spotkań, w których strzelił 8 bramek, za co przez fanów Derby County został wybrany najlepszym młodym zawodnikiem sezonu. W spotkaniu finałowym fazy play-off przeciwko West Bromwich Albion, Barnes asystował przy zwycięskiej bramce dla swojego klubu. W tym samym meczu doznał jednak kontuzji stopy, która wykluczyła go z gry i treningów aż do rozpoczęcia rozgrywek Premiership.
Barnes zadebiutował w nich 22 września 2007 roku, w wyjazdowym meczu z Arsenalem. Swoją pierwszą bramkę w najwyższej angielskiej klasie rozgrywkowej, pomocnik zdobył 23 grudnia, w spotkaniu z Newcastle United. Niedługo potem, Barnes doznał kolejnej kontuzji, tym razem kolana. Stracił przez nią nie tylko całą drugą połowę sezonu 2007/2008 (w którym Derby County w fatalnym stylu spadło z powrotem do Football League Championship), ale i początek następnych rozgrywek. Barnes wrócił do gry dopiero w połowie grudnia 2008 roku. Już miesiąc później, błysnął w spotkaniu półfinałowym Pucharu Ligi Angielskiej przeciwko Manchesterowi United, strzelając dwie bramki.
31 stycznia 2009 roku, Barnes został wypożyczony do końca sezonu 2008/2009 do Fulham, klubu występującego w Premiership. W drużynie tej nie rozegrał jednak ani jednego spotkania.