W swoim trzecim sezonie w NBA Brooks wszystkie mecze sezonu zasadniczego rozpoczynał w pierwszej piątce. Jego statystyki indywidualne znacząco się poprawiły – ustanowił najwyższe w karierze średnie punktów, asyst i zbiórek. Po zakończeniu sezonu zasadniczego 2009/10 otrzymał nagrodę dla zawodnika, który w ostatnim sezonie poczynił największe postępy. W lutym 2011 brał udział w wymianie w ramach której trafił do Phoenix Suns. 17 lipca 2012 po sezonie spędzonym w lidze chińskiej podpisał kontrakt z Sacramento Kings. 1 marca 2013 kontrakt Brooksa został wykupiony przez Kings i został on tym samym wolnym agentem. 5 marca podpisał kontrakt z Houston Rockets. Po zakończeniu sezonu, 30 czerwca 2013 Brooks został zwolniony przez Rockets, ale już 19 lipca z powrotem dołączył do zespołu, podpisując roczny kontrakt. 20 lutego 2014 Brooks został wymieniony do Denver Nuggets w zamian za Jordana Hamiltona. 22 lipca 2014 podpisał kontrakt z Chicago Bulls.
21 lipca 2016 został zawodnikiem Indiany Pacers.