Josh Powell nació el 25/1/1983 en Charleston, California. Mide 2.06 metros, pesa 240 libras (108 kg) y juega de Forward (Ala-Pivot) o de Centro.
Promedio 12.4 pts y 5.2 rebs en su segundo año jugando para la Universidad de Carolina del Norte, de la que saltó al basquetball de Europa.
Después de jugar en muchos equipos allí, su camino se dirigió a la NBA, pero no entró en el Draft 2005, sino que fue fichado como agente libre por los Dallas Mavericks en la Temporada 2005-06.
Su tiempo no parecía durar mucho allí, ya que solo entraba a jugar cuando el partido estaba sentenciado. Pero con las lesiones de Josh Howard y Keith Van Horn, Powell empezó a ser el suplente fijo de Dirk Nowitzki.
Después de jugar 37 partidos con los Mavs, el 23/7/06 fue cambiado junto a sus compañeros Darrel Amstrong y Rawe Marshall a los Indiana Pacers por Anthony Johnson. Su contrato era para la 2006-07. En Indiana jugó tan solo 7 partidos.
Y el 17/1/07, entró en aquel histórico traspaso junto a Stephen Jackson, Sarunas Jasikevicius y Al Harrington a los Golden State Warriors por Troy Murphy, Mike Dunleavy Jr., Ike Diogu y Keith McLeod.
Con los Warriors jugó 30 partidos en casi 10 minutos por juego.
Sus mudanzas no pararon, ya que el 14/08/08 fue fichado por Los Angeles Clippers, donde jugó 64 partidos en 20 minutos por encuentro, su máximo de su carrera.
Pero, después de ver que seguiría sin tener mucha participación en el equipo, junto a contrataciones de más jugadores de su posición, lo dejaron libre.
Y finalmente, el 14/08/08, un año después de su fichaje con los Clippers, Los Angeles Lakers lo fichan como agente libre en reemplazo de Ronny Turiaf.
Al año siguiente, con un papel de reserva en el equipo, consiguió su primer Campeonato con los angelinos.