Powell spent two years at North Carolina State, where in his freshman campaign, he averaged 7.2 points and 3.9 rebounds per game en route to earning a spot on the ACC All-Rookie squad. He went on to average 12.4 points and 5.3 rebounds in 31 games his sophomore season, and was named the team's most improved player as the recipient of the Tom Gugliotta Award. He ranked seventh in the ACC in blocks, 20th in scoring and 18th in rebounding. He was named to the All-ACC Tournament first team after putting up 20.0 points, 7.0 rebounds and 3.0 blocks in three contests, including a career-best 26-point effort in the championship game against Duke.
Professional career
Early years
After going undrafted in the 2003 NBA draft, Powell spent the preseason with the Dallas Mavericks, before moving to Russia for his first professional season. He managed just two games for Lokomotiv-Rostov before joining Italian team Scafati Basket for the rest of the 2003–04 season. Following his stint in Italy, he returned to the United States and played for the Southern Crescent Lightning, helping them win the 2004 WBA championship. He also spent the 2004–05 season in Italy with JuveCaserta Basket before re-joining the Southern Crescent Lightning in 2005.
Dallas Mavericks
Powell re-signed with the Dallas Mavericks in August 2005, but managed just 16 games over the first half of the 2005–06 season. On February 27, 2006, he was assigned to the Fort Worth Flyers of the NBA Development League. He was recalled by the Mavericks on March 4, and went on to play in 21 games throughout March and April. On April 4, 2006, he scored a season-high 12 points in a 127–101 win over the Sacramento Kings. He finished the regular season with an 11-point, nine-rebound effort against the Los Angeles Clippers on April 19. The Mavericks reached the NBA Finals in 2006, where they were defeated 4–2 by the Miami Heat. Powell appeared in six games over the Mavericks' playoff run.
In July 2006, Powell was traded, along with Darrell Armstrong and Rawle Marshall, to the Indiana Pacers in exchange for Anthony Johnson. He appeared in just seven games for the Pacers in 2006–07 before being traded to the Golden State Warriors in an eight-player deal on January 17, 2007. On January 27, 2007, in just his second game for the Warriors, Powell scored a then career-high 13 points in a 131–105 win over the Charlotte Bobcats. He played in 30 regular season games for the Warriors, as well as making four playoff appearances.
Los Angeles Clippers
On August 14, 2007, Powell signed with the Los Angeles Clippers. On April 3, 2008, he recorded a career-high 13 rebounds in a 110–98 loss to the Sacramento Kings. Three days later, he scored a career-high 22 points in a 105–79 loss to the Houston Rockets. On July 30, 2008, he was waived by the Clippers.
Los Angeles Lakers
On August 14, 2008, Powell signed with the Los Angeles Lakers. Over two seasons with the Lakers, he won two NBA championships.
Atlanta Hawks
On July 26, 2010, Powell signed a one-year, $1.1 million contract with the Atlanta Hawks.
On September 27, 2012, Powell signed with the San Antonio Spurs for training camp. He was later waived by the Spurs on October 26, 2012 after appearing in six preseason games.
Olympiacos
On November 2, 2012, Powell signed with Greek team Olympiacos. He went on to help the team win the 2012–13 EuroLeague championship.
On September 30, 2013, Powell signed with the New York Knicks for training camp. He was later waived by the Knicks on October 25, 2013 after appearing in five preseason games.
On April 16, 2014, Powell signed with the Houston Rockets. On October 24, 2014, he was waived by the Rockets. After being waived by the Rockets, Powell joined Kevin McHale's staff as a player development coach for the 2014–15 season. On September 18, 2015, Powell signed with the Milwaukee Bucks for training camp. He was later waived by the Bucks on October 21, 2015 after appearing in four preseason games.
On October 7, 2016, Powell signed with the Sydney Kings for the 2016–17 NBL season. Six days later, he made his debut for the Kings in their second game of the season. In 22½ minutes off the bench, he recorded 14 points and six rebounds in an 88–84 win over the Illawarra Hawks. On October 20, he scored 17 points on 8-of-11 shooting off the bench in a 92–78 win over the New Zealand Breakers. On December 23, he scored a season-high 21 points in an 87–75 loss to Illawarra, dropping the Kings to 10–10 on the season with a fourth-straight defeat. The Kings went on to finish the season in seventh place, missing the playoffs with a 13–15 record. In 27 games for the Kings, Powell averaged 9.4 points, 4.8 rebounds and 1.0 assists per game.