W sezonie 2007/08 NBA Brown wystąpił 15 meczach, w tym 4 w pierwszej piątce zdobywając średnio 7,0 punktów na mecz. 21 lutego 2008 roku w ramach wymiany trzech klubów został zawodnikiem Chicago Bulls. 6 sierpnia podpisał kontrakt z Charlotte Bobcats. 7 lutego 2009 r., razem z Adamem Morrisonem zostali wymienieni do Los Angeles Lakers w zamian za Vladimira Radmanovicia. Z tym zespołem Brown dwukrotnie wywalczył mistrzostwo ligi NBA w latach 2009 i 2010. Wziął udział w konkursie wsadów podczas Weekendu Gwiazd NBA 2010. 16 lutego 2010, przeciwko Golden State Warriors, Brown poprawił rekord kariery, notując 27 punktów i 10 zbiórek, co było jego pierwszym double-double w NBA.

10 grudnia 2011 podpisał kontrakt z Phoenix Suns. 27 marca 2012, w meczu z San Antonio Spurs poprawił rekord kariery w punktach, zdobywając ich 32. 22 lipca 2012 Brown przedłużył kontrakt z Suns na kolejne dwa lata. 25 października 2013 Brown, razem z Marcinem Gortatem, Malcolmem Lee i Kendallem Marshall został wytransferowany do Washington Wizards w zamian za Emekę Okafora i wybór w pierwszej rundzie draftu 2014. Trzy dni później, Brown, Lee i Marshall zostali zwolnieni przez Wizards.