Terrence Williams joue quatre saisons au niveau universitaire pour les Cardinals de l'Université de Louisville et l'entraineur Rick Pitino. Il est ensuite sélectionné en onzième position de la Draft 2009 de la NBA par les Nets du New Jersey avec qui il signe un contrat de quatre saisons. Lors de sa première saison, il marque en moyenne 8,4 points par match. Le , il fait partie d'un échange impliquant trois franchises et Terrence est envoyé aux Rockets. Le , il est coupé par les Rockets et signe un contrat de 10 jours avec les Kings de Sacramento le , il est conservé jusqu'à la fin de la saison 2011-2012.