He played college basketball for the North Carolina Tar Heels before being selected by the Golden State Warriors in the first round of the 2012 NBA draft with the seventh overall pick.
[3] In his junior year, Barnes and teammate Doug McDermott led Ames High School to an Iowa 4A state championship where he had 24 points and 8 rebounds in the final, capping off a 26–0 season.
He averaged 27.1 points, 10.4 rebounds, 4.0 steals and 4.0 assists during his senior year and was selected to the USA Today All-USA First Team.
[6] Barnes played in the 4th annual Boost Mobile Elite 24 Hoops Classic where he scored 18 points for Skip to My Lou.
[12] Barnes played for All Iowa Attack and Howard Pulley Panthers (MN) on the AAU Circuit,[13] along with football prospect Seantrel Henderson.
[18] On November 13, 2009, Barnes Skyped coach Roy Williams of North Carolina to announce his decision to join the Tar Heels.
[23] Barnes developed a knack for coming up clutch in the later portion of his freshman season, like when he scored eight of his twelve points in the closing minutes to help the Tar Heels beat Virginia Tech.
[27] On April 18, 2011, Barnes announced that he would return to North Carolina for his sophomore season despite being projected as a lottery pick for the 2011 NBA draft.
[28] Barnes was the ninth player in school history to earn ACC Rookie of Year recognition and the fourth to do so under coach Roy Williams.
On March 29, 2012, Barnes announced that he was entering the 2012 NBA draft along with Tyler Zeller, Kendall Marshall, and John Henson.
[32] Barnes also placed sixth in NBA Rookie of the Year voting, in a tie with Chris Copeland (8 points total).
[35] On April 16, 2014, Barnes scored a career-high 30 points against the Denver Nuggets in the final regular season game for the Warriors.
The Warriors finished the regular season with a 51–31 record, going into the playoffs as the sixth seed in the West, but went on to lose to the Los Angeles Clippers 4–3 in the first round.
[36] On April 2, he hit a running shot in the lane with less than a second remaining, lifting the Warriors to a 107–106 win over the Phoenix Suns.
He averaged 12.8 points per game, while shooting 54.4% from the field, a performance lauded by many basketball insiders due to the reputation of the Grizzlies' defense.
When the Warriors were losing by double digits in the first quarter of Game 5, Barnes got the comeback started with several key shots, which turned into a rout once teammate Stephen Curry was able to shoulder much of the load.
[44][45] He made his debut for the Mavericks in their season opener on October 26, recording 19 points and nine rebounds in a 130–121 overtime loss to the Indiana Pacers.
[49] After never finishing better than fourth in scoring in his four seasons with the Golden State Warriors, Barnes led the Mavericks with a career-best 19.2 points per game.
Barnes led the Mavericks with 22 points, nine of them coming in the fourth quarter to help Dallas thwart a late Memphis comeback.
[53] On December 26, 2017, he tied his career high with his sixth double-double of the season after registering 16 points and 10 rebounds in a 98–93 win over the Toronto Raptors.
[59] On February 6, 2019, while in the middle of a game for Dallas against the Charlotte Hornets,[60] Barnes was traded to the Sacramento Kings in exchange for Zach Randolph and Justin Jackson.
[63] On October 20, 2021, Barnes scored a game-leading 36 points, including a career-high eight three-point shots, during a 124–121 win over the Portland Trail Blazers.