Својата кариера ја започнал во 2002 година во екипата на Сантос од Бразил, кога имал 17 години. Во 2005 година потпишал за Реал Мадрид, за сума од € 24 милиона. Во тимот на Реал одиграл 101 натпревари и постигнал 25 голови. Во 2008 година потпишал за Манчестер Сити за сума од € 42,5 млн. евро и плата од £ 160.000 неделно. Во Манчестер останал до 2010 година, кога преминал во редовите на Милан. После Милан играл уште и за Сантос (на заем од Милан една сезона), за Гвангжу Евергранде од Кина, за Атлеико Минеиро во неговиот роден Бразил, како и за турските клубови Сиваспор и Истанбул Башакшехир, каде настапува и денес.
За бразилската репрезентација има одиграно точно 100 натпревари и постигнал 28 голови. Својот последен натпревар за кариоките го одиграл на 25 јануари 2017 против Колумбија.