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.

West Bromwich Albion 3 lutego 2010 podpisał kontrakt z West Bromwich Albion.

Doncaster Rovers 4 sierpnia 2011 przeszedł do występującego w Football League Championship Doncaster Rovers, podpisując półroczny kontrakt. Spędził tam sezon 2011/2012. Następnie grał w amerykańskim Houston Dynamo, a w 2016 roku został zawodnikiem kanadyjskiego Vancouver Whitecaps.

Kariera reprezentacyjna Barnes reprezentował Anglię na szczeblu U-19.