Salmons was a member of a Pennsylvania high school state championship team while at Plymouth-Whitemarsh High School in 1997, where he reached the 1,000 point club. He went on to play college basketball at the University of Miami, in Florida, where he was a four-year starter for the Hurricanes. He started 107 consecutive games for Miami, the second longest streak in school history. He was also the first player in school history to surpass 1000 career points (1287), 600 rebounds (687), 400 assists (433) and 150 steals (192).
Salmons was drafted out of the University of Miami, with the 26th overall selection by the San Antonio Spurs in the 2002 NBA draft. He was then immediately traded with Mark Bryant and the rights to Randy Holcomb to the Philadelphia 76ers for Speedy Claxton for whom he played through the 2006 season, averaging 4.1 points per game.
Salmons was set to be acquired by the Toronto Raptors on July 13, 2006, in a sign-and-trade deal with Philadelphia. On July 21, 2006, however, there were reports that Salmons was having second thoughts about going to Toronto, and the sign and trade to Toronto was canceled.
On July 24, 2006, Salmons signed a multi-year contract with the Sacramento Kings. On December 22, 2006, he recorded his first triple-double of his NBA career against the Denver Nuggets with 21 points, 11 rebounds, and 10 assists.
Salmons was traded to the Chicago Bulls along with former Bull Brad Miller on February 18, 2009 in exchange for Cedric Simmons, Drew Gooden, Andrés Nocioni, and Michael Ruffin. He proved to be a key contributor in the Bulls making the 2009 NBA Playoffs, continuing to average over 18 points per game for the season. Salmons also logged a whopping 44.7 minutes per game in the playoffs, as there were a combined 7 overtime periods in the Bulls' first round series against the Boston Celtics. The Bulls were eventually eliminated in game seven of that series.
On February 18, 2010, Salmons was sent to the Milwaukee Bucks for Hakim Warrick and Joe Alexander. Additionally, the Bulls traded their second round picks in 2011 and 2012 to Milwaukee, with the Bucks given the option to swap first round picks, provided it is not a top 10 pick, in 2010 NBA draft. Salmons averaged nearly 20 points per game for the Bucks after his acquisition. He opted out of his final year of his contract but then signed a 5-year deal to stay with the Bucks.
On June 23, 2011 he was traded back to the Sacramento Kings as part of a three-way deal among the Milwaukee Bucks and Charlotte Bobcats. The Kings also received Jimmer Fredette.
On December 9, 2013, the Kings traded Salmons, along with Greivis Vásquez, Patrick Patterson, and Chuck Hayes to the Toronto Raptors for Rudy Gay, Quincy Acy, and Aaron Gray.
On June 30, 2014, Salmons was traded, along with a 2015 second round pick, to the Atlanta Hawks in exchange for Louis Williams and the draft rights to Lucas Nogueira. On July 10, 2014, he was waived by the Hawks.
On August 26, 2014, Salmons signed with the New Orleans Pelicans.
On February 19, 2015, Salmons was traded to the Phoenix Suns as a part of a three-team deal that also involved the Miami Heat. He was subsequently waived by the Suns two days later alongside former Suns player Kendall Marshall.
Salmons is a Christian. He has spoken on behalf of the Fellowship of Christian Athletes.