Sessions played collegiately at the University of Nevada for three years and ranks second in career assists at Nevada with 478. In Sessions' final season at Nevada he averaged 12.3 points, 4.7 rebounds and 4.7 assists per game.
Although some sportswriters felt Sessions should have returned for his senior year at Nevada, he put on a very strong performance at the NBA pre-draft camp in Orlando and decided to stay in the draft. He was considered by some scouts to be a very good ballhandler, passer, and decision-maker, although his athleticism and NBA-scoring ability were questioned.
Sessions was the first NBA player to be assigned to the NBA Development League in the 2007–08 season, when he was sent by the Bucks to the Tulsa 66ers; Sessions was named D-League Performer of the Week for the opening weekend of the season, November 26, 2007, averaging 30.5 points, 7.5 rebounds and 5.0 assists. Later in the season, for January 28, 2008, he was also named Performer of the Week, becoming the first two-time performer for the season. He averaged 29.6 points, 8.0 rebounds and 12.3 assists in three wins for the 66ers.
In January 2008, Sessions was first called up to the Bucks, but due to a wrist injury, he wasn't able to make his NBA debut until March 9, in a 119–97 home loss against the Philadelphia 76ers, scoring 2 points. Later on, due to injuries to starting point guard Mo Williams and reserve Charlie Bell, his playing time increased. Earlier, on April 2, he made a game-winning 19-foot baseline jumper, off a pass from Andrew Bogut, to give the Bucks a one-point road win against the Washington Wizards, in a game where the Bucks never led by more than one point. Sessions started his first career game against the Indiana Pacers on April 8. Although he went just 3 for 10 with just 8 points, Sessions recorded 10 assists in a 105–101 Bucks loss.
On April 14, 2008, Sessions scored a then career-high 20 points, adding 8 rebounds and a Milwaukee Bucks franchise-record 24 assists against the Chicago Bulls in a 151–135 home loss. His double-double performance was also the first "20-20" with points and assists in Bucks history. The following night, he topped his career high with 25 points, in a 110–101 loss to the Minnesota Timberwolves. Sessions later topped his career high again by almost doubling it: on February 7, 2009, in an overtime loss against the Detroit Pistons, he scored 44 points. On April 1, 2009, Sessions recorded his first career triple-double against the Los Angeles Lakers, scoring 16 points with 16 assists and 10 rebounds.
On September 4, 2009, he signed an offer sheet from the Minnesota Timberwolves reportedly worth $16 million for four years. The Bucks had seven days to match the offer but declined. Sessions shared backcourt duties with Timberwolves rookie guard Jonny Flynn. Sessions played 82 games with the Timberwolves and averaged 8.2 points and 3.2 assists per game to go with 2.6 rebounds per game, and shot 45.6% from the field.
On July 26, 2010, he was traded to the Cleveland Cavaliers, along with Ryan Hollins and a second-round draft pick, for Delonte West and Sebastian Telfair.
On March 15, 2012, Sessions was traded along with Christian Eyenga to the Los Angeles Lakers for a protected first-round pick in 2012, Jason Kapono and Luke Walton. The trade provided Sessions with more playing time, as he had spent most of the season playing behind rising rookie star Kyrie Irving. In his first game with the Lakers, he put up 7 points, 4 rebounds, and 5 assists during 19 minutes in a 97–92 win over the Timberwolves.
On July 13, 2012, Sessions signed a two-year deal with the Charlotte Bobcats.
On February 20, 2014, Sessions was traded to the Milwaukee Bucks along with Jeff Adrien in exchange for Gary Neal and Luke Ridnour.
On September 22, 2014, Sessions signed with the Sacramento Kings.
On February 19, 2015, Sessions was traded to the Washington Wizards in exchange for Andre Miller. On May 5, 2015, he scored a playoff career-high 21 points in a Game 2 semi-final loss to the Atlanta Hawks.
On July 7, 2016, Sessions signed with the Charlotte Hornets, returning to the franchise for a second stint. On February 8, 2017, he was ruled out for four to six weeks after undergoing surgery to repair a lateral meniscus tear in his left knee.
On August 8, 2017, Sessions signed with the New York Knicks.