Gray created a stir of excitement his freshman year at Wake, he scored 10 points and dished out 5 assists in his debut game against Yale, in which Wake Forest easily was victorious. Shooting mostly outside shots, Gray's field goal percentage was below 40% but even still he averaged 12.7 points per game. His performance was strong enough to be recognized by Sporting News on their 4th team All-American Freshman, while he made first team ACC Freshman and received ACC Freshman of the week one time during the 02-03 season. In the summer before Gray's sophomore year, point guardChris Paul arrived. The Chris Paul and Justin Gray combo then became one of the best back courts in the ACC. With the assistance of Paul's prevailing passing skills Justin averaged 17.0 points per game, this time shooting 41% from the field and 38% from the 3 point line. ACC fans were convinced both players would end up in the National Basketball Association as good as they were playing together. However Wake's fans were disappointed when they were defeated by Saint Joseph's in an intense Sweet 16 match up, in which Gray scored 23 points. Gray did finish his sophomore season earning . During the 2004–05 season Justin's role on the team was reduced because sophomore Chris Paul was taking more of the load on his own, however they were upset by West Virginia in the 2nd round of the NCAA tournament. Paul then left for the NBA to play for the New Orleans Hornets, leaving his roommate Gray with a poor team to work with during the 2005–06 season. Gray silently had his best season yet, averaging 18.2 points a game. Gray left Wake Forest with his name all in the record books, including 7th on the career scoring list and 2nd in 3pt field goals made.
Professional career
Gray went overseas to play pro basketball in Europe, first with Velviers Perpinster and later with CEZ Nymburke. CEZ Nymburke won the Czech Republic Cup in 2008 and Justin gray scored 15.5 points per game during that season. After that Gray went to play for PGE Turow. He played the 2011-12 season for the Skyliners Frankfurt in Germany, where he is averaging 19 points and nearly 4 assists. In Frankfurt he will be remembered for "THE SHOT" the game winning 3pt shot he made against Würzburg. In August 2012 he signed in France with Poitiers Basket 86. In March 2013 signed with Pertevniyal Istanbul in Turkey. In March 2014, Gray signed with Bulgarian team Rilski Sportist for the rest of the season. In November 2014, he signed with Apollon Limassol of Cyprus. On February 20, 2015, he signed with Tsmoki-Minsk of the Belarusian Premier League.
Justin Gray played for Team Wake The Nation in the 2018 edition of The Basketball Tournament. He had seven points, six rebounds and five assists in the team's first-round loss to Team Showtime.