Price was born and raised in Friendswood, Texas and graduated from Clear Brook High School in 2001 as an honor roll student with a 3.4 grade point average. At 5-foot-7, Price was considered undersized as a senior and was not offered any basketball scholarships out of high school. In 2001, Price enrolled at Nicholls State University of Thibodaux, Louisiana and walked on to the Colonels basketball team. He grew to 6 feet by the beginning of his freshman season and averaged 11.3 points per game. At 6-foot-1 by the end of his freshman year, Price transferred to Utah Valley State College (now Utah Valley University) in Orem, Utah.
As a sophomore (2002–03), Price averaged 15.3 points per game, earning Honorable Mention honors in the NJCAA Region 18. UVSC became a four-year institution the following year, and Price decided to stay as the school transitioned to NCAA Division I basketball. He improved his scoring average to 20.2 points per game as a junior (2003–04), leading the Wolverines to the Division I Provisional National Championship. The Wolverines finished the season with a 23–5 record. Price scored a career-high 37 points in a game twice during the season.
In his senior season (2004–05), Price averaged 24.3 points per game, ranking third in the nation in that category albeit unofficially due to Utah Valley's status as a provisional Division I member. For his efforts, he was named Division I Independent Player of the Year. He finished his senior year with a terrific performance, scoring a season-high 36 points (27 in the second half) in a 71–52 victory over Northern Colorado.
Price was inducted into the Utah Valley University Hall of Fame on February 4, 2010 at halftime of Utah Valley's game against Texas–Pan American.
Price worked out for the Utah Jazz and Detroit Pistons after going undrafted in the 2005 NBA draft. On August 3, 2005, Price signed a guaranteed two-year contract with the Sacramento Kings. Price became the first player to enter the NBA directly from Utah Valley University. He played sporadically in his rookie season: in 29 games, Price averaged 5.2 minutes and 2.1 points. On December 22 against the Dallas Mavericks, Price had his only game that season in double figures, with 11 points, 2 rebounds, and 1 assist in 18 minutes.
In the 2006–07 season, Price got more playing time with 58 games and one start and averaged 9.7 minutes, 3.3 points, and 1.2 rebounds. On November 22, Price scored a career-high 16 points in a game against the Utah Jazz on November 22, 2006, including a dunk over Carlos Boozer that NBA.com panelists considered one of the most memorable plays of the season. Price started his first NBA game on December 5 against the Phoenix Suns and scored 2 points in 13 minutes.
In July 2007, Price signed a free agent contract with the Jazz. He started the season as third-string point guard, behind Deron Williams and Jason Hart (Hart for the second time). Price eventually replaced Hart as the main backup to Williams. He played in 61 games in 2007–08, averaging 3.7 points per game. He made highlight reels again after a block he had on Luke Walton in game 4 of the second round of the 2008 NBA Playoffs against the L.A. Lakers. Walton appeared to have a breakaway layup or dunk when Price unexpectedly caught up with him at the last moment and blocked him soundly, despite their difference in height. This was after receiving 4 stitches and a large bandage above his right eye following a flagrant foul from Ronny Turiaf earlier in the game.
On December 13, 2011, Price signed a one-year contract with the Phoenix Suns to replace Zabian Dowdell. Starting 8 of 36 games, Price averaged 3.6 points, 1.6 rebounds, 1.9 assists, and 0.9 steals. Price had three games with double-figure scoring, including a season-high 18 points on January 13 against the New Jersey Nets.
On July 18, 2012, Price signed with the Portland Trail Blazers. Price played 39 games in the 2012–13 season for Portland and averaged 2.7 points, 1.1 rebounds, 1.9 assists, and 0.7 steals. On February 21, 2013, Price was released by the Trail Blazers to create roster space for Eric Maynor after the team traded draft rights to Georgios Printezis to the Oklahoma City Thunder.
On July 25, 2013, Price signed with the Orlando Magic. On July 2, 2014, he was waived by the Magic.
On September 24, 2014, Price signed with the Los Angeles Lakers. On December 7, 2014, Price was moved into the starting line-up in place of Jeremy Lin. On February 24, 2015, Price was ruled out for the rest of the 2014–15 season after undergoing surgery to remove a bone spur in his right elbow.
During his time with the Lakers, Price recorded career-best numbers in points (5.1), assists (3.8), and steals (1.6).
On July 17, 2015, Price signed a one-year deal with the Phoenix Suns, returning to the franchise for a second stint. Entering his second stint with the team, Price accepted a third-string point guard role behind young guards Eric Bledsoe and Brandon Knight, and embraced a part-time role in order to be more of a mentor. On December 23, 2015, Price made a career-high six three-pointers and scored a career-high 20 points in a loss to the Denver Nuggets. On January 15, 2016, he was ruled out for a month after undergoing surgery on his right big toe. He returned to action on February 19 against the Houston Rockets. Price played in a career-high 62 games for the Suns in 2015–16, and recorded a career-high 5.3 points per game.
On August 14, 2016, Price signed a two-year deal with the Oklahoma City Thunder. However, he was waived by the Thunder on October 24, 2016 after appearing in five preseason games. On January 27, 2017, Price returned to the Suns on a 10-day contract. On February 6, 2017, he signed a second 10-day contract with the Suns, despite having not appeared in a game during his first 10-day contract. He made his season debut four days later, playing two minutes in a 115–97 win over the Chicago Bulls. On February 24, 2017, he signed with the Suns for the rest of the season.