Sezon 2008/2009 był dla Williamsa najlepszy w karierze pod względem średniej zdobywanych punktów na mecz (17,8), skuteczności rzutów za trzy punkty (43,6%) oraz z rzutów wolnych (91,2%). Wystąpił również w meczu gwiazd NBA, gdzie zastąpił kontuzjowanego Chrisa Bosha. Wraz z Cavaliers awansował do finałów konferencji wschodniej, gdzie jednak zostali pokonani 4:2 przez Orlando Magic.
W lutym 2011 brał udział w wymianie, w ramach której trafił do Los Angeles Clippers. 28 czerwca 2012 roku trafił do Utah Jazz. 8 sierpnia 2013 podpisał dwuletni kontrakt z Portland Trail Blazers. 30 lipca 2014 podpisał kontrakt z Minnesotą Timberwolves. 13 stycznia 2015 roku, zdobywając 52 punkty w meczu z Indianą Pacers, poprawił rekord Timberwolves pod względem liczby zdobytych punktów w jednym meczu.
W lipcu 2015 został po raz drugi w karierze zawodnikiem Cleveland Cavaliers. 7 stycznia 2017 został wymieniony do zespołu Atlanty Hawks, wraz z Mikiem Dunleavy Jr oraz przyszłym wyborem I rundy draftu, w zamian za Kyle'a Korvera.