Johnson devient un joueur clé avec Phoenix inscrivant 15,2 points par match lors de ses trois saisons et demie avec les Suns. Il est considéré comme l'un des meilleurs shooteurs de NBA et il est renommé pour sa bonne tenue de balle pour sa taille (2,01 m).
Lors des playoffs 2005, Joe Johnson se blesse gravement au visage lors d'un dunk et est forfait pour le reste des playoffs; les Suns s'inclinent face aux futurs champions, les Spurs de San Antonio, 4 manches à 1.
Lors de l'été 2005, Johnson devient free agent et exprime le désir de quitter les Suns afin d'avoir un rôle plus important. Le , un accord est finalisé et Johnson rejoint les Hawks d'Atlanta contre Boris Diaw et un futur premier tour de draft.
Hawks d'Atlanta (2005-2012)
Lors de sa première saison avec les Hawks, Johnson termine meilleur marqueur (20,2 points), passeur (6,5 passes décisives) et intercepteur (1,26 interception). Il est l'un des cinq joueurs de la ligue à inscrire au moins 20 points et six passes décisives en 2005-2006.
La meilleure performance offensive de Johnson est de 42 points le contre les Warriors de Golden State[1] et son record de passes décisives est de 17, réalisé le lors d'une défaite face aux Bucks de Milwaukee[2].
Johnson continua de progresser lors de la saison 2006-2007, avec des moyennes de 25,0 points, 4,4 passes décisives, 4,2 rebonds et 1,05 interceptions par match. Johnson fut nommé par David Stern dans l'équipe de l'Est du All-Star Game 2007, en remplacement de Jason Kidd blessé.
En 2008, Johnson participa de nouveau au All-Star Game en tant que remplaçant. Il fut aussi nommé joueur du mois de la Conférence Est à deux reprises durant la saison[4]. Johnson inscrivit 21,7 points par match lors de cette saison, qualifiant les Hawks pour les playoffs pour la première fois depuis 9 ans.
Lors de la saison 2009-2010, les Hawks terminent 4e de la Conférence Est et sont éliminés au deuxième tour des playoffs par le Magic d'Orlando (4-0). Auteur d'une bonne saison individuellement, Joe Johnson (21,3 points à 45,8 % au tir, 5,8 passes décisives et 4,2 rebonds en moyenne) déçoit en playoffs plus particulièrement contre Orlando (11,8 points à 29,6 % au tir). Il est auteur d'une déclaration assez maladroite lors de cette série envers les fans[5]. Il semblerait que Joe Johnson, free agent cet été-là, quitte Atlanta[6] après cinq ans passés dans la franchise.
Contre toute attente, les Hawks lui proposent le contrat maximum qu'il accepte[7]. Le , en marquant 16 points face à Warriors de Golden State, il devient le 10e meilleur marqueur de l'histoire des Hawks en dépassant Lenny Wilkens (8 591).
Fin , les Nets de Brooklyn et lui négocient un rachat de son contrat. Le , il est officiellement libéré par les Nets[11],[12].
Heat de Miami (fév.-juil. 2016)
Fin février, Johnson rejoint le Heat de Miami pour renforcer leur attaque à trois points[13].
Jazz de l'Utah (2016-fév. 2018)
Le , Johnson signe au Jazz de l'Utah un contrat de 22 millions de dollars sur deux ans[14]. Il se signale en inscrivant un buzzer-beater lors du match 1 du premier tour des Playoffs 2017 sur le parquet des Clippers de Los Angeles. Très performant tout au long de la série, il permet au Jazz de se qualifier (4-3), avant de voir son équipe sèchement éliminée en demi-finales de Conférence Ouest par le futur Champion, Golden State.
La saison 2017-2018 est plus compliquée pour Johnson, gêné par une blessure au poignet. Le Jazz, ayant perdu son Franchise PlayerGordon Hayward l'été précédent, est en difficulté, et Johnson souhaite rejoindre une équipe jouant le titre NBA. Il demande officieusement son transfert et finit par être envoyé aux Kings de Sacramento dans un échange en triangle impliquant également les Cavaliers de Cleveland, lors de la trade-deadline . Comme attendu, il est coupé par les Kings dans la foulée.
Rockets de Houston (février 2018-juin 2018)
Le , il rejoint officiellement les Rockets de Houston où il retrouve son ancien coach à Phoenix, Mike D'Antoni. L'entraîneur lui préfère des joueurs comme P. J. Tucker, Trevor Ariza, Luc Mbah a Moute ou encore Gerald Green à son poste, et Johnson joue peu. Il quitte les Rockets à l'issue de la saison, mais ne trouve pas de nouveau contrat en NBA pour la saison suivante.
Champion et MVP en Big3 League (mars 2019-septembre 2019)
Il remporte la première édition de la Big3 League, créée par le rappeur Ice Cube, en 2019, ainsi que le titre de MVP avec son équipe des "Triplets". Lors de la finale contre les "Killer 3’s", remportée 50-39, il marque 28 points[15].
Retour en NBA aux Pistons de Détroit (septembre-octobre 2019)
Le , il signe un contrat d'un an partiellement garanti avec les Pistons de Détroit[16]. Néanmoins, le , il n'est pas conservé par la franchise du Michigan[17].
Retour aux sources à Boston (2021-2022)
De nouveau MVP de la Big3 League en 2021 (la saison 2020 n'ayant pas eu lieu), il est testé par les Bucks de Milwaukee, futurs champions, en avril 2021[18], mais la franchise ne donne pas suite. En septembre, il déclare ne pas avoir fait une croix sur un retour en NBA[19]. Le 22 décembre 2021, alors que de nombreux joueurs NBA sont placés à l'isolement en raison de la pandémie de Covid-19, Johnson rejoint les Celtics de Boston via un contrat de 10 jours[20], plus de 3 ans après avoir joué son dernier match en NBA. Il joue une seule rencontre et marque 2 points en 2 minutes.