Harrison Barnes was rated as the number 1 player in the class of 2010 by Scout.com and in the ESPNU 100. He was rated as the number 2 player by Rivals.com. 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, capping off a 26-0 season. In his senior year, Barnes and McDermott led Ames to a 27-0 season and a second straight Iowa 4A state championship becoming Iowa's big-school class's first team to go undefeated in consecutive seasons. In the finals he scored 19 points against Southeast Polk. He averaged 26.1 points, 10.0 rebounds, 3.1 steals and 3.0 assists during his senior year and was selected to the USA Today All-USA First Team. Barnes capped off his Ames High School career as their all-time leading scorer with 1,787 points. Barnes played in the 4th annual Boost Mobile Elite 24 Hoops Classic where he scored 18 points for Skip To My Lou. On January 20, 2010, it was announced that Barnes was selected to the 2010 Junior National Select Team. The team played at the 2010 Nike Hoop Summit at the Rose Garden in Portland, Oregon on April 10. He was also selected to play in the 2010 McDonald's All-American Game where he led the West team to a 107-104 victory. He scored a team high 18 points and was named co-MVP with Jared Sullinger. He also played in the 2010 Jordan Brand Classic where he was named co-MVP with Kyrie Irving. On March 10, 2010, Barnes won the Morgan Wootten Player of the Year Award, which goes to the nation's top player.
Barnes played for All Iowa Attack and Howard Pulley Panthers (MN) on the AAU Circuit, along with football prospect Seantrel Henderson.
Barnes playing in the Carrier Classic game in November 2011
Barnes had 21 points in his North Carolina debut in an exhibition game in the Bahamas against the Commonwealth Bank Giants. UNC won the game 130-87. Overall, Barnes averaged 22 points and 6.5 rebounds per game for UNC in the Bahamas. On November 1, 2010, Barnes was named a preseason All-American by the AP. Barnes had 14 points and 4 rebounds in his North Carolina debut vs. Lipscomb. He recorded his first career double double on December 11, 2010, scoring 19 points and snatching 10 rebounds in a 96-91 victory over Long Beach State University. 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. Barnes made the eventual game winning, three-point shot against Miami to give the Tar Heels the lead with 6.6 seconds remaining in the game. Just weeks later in the Tar Heels game at Florida State, Barnes nailed a three-point shot to give the Tar Heels the victory.
Barnes's previous career high of 26 points came against Boston College on February 1, 2011. He surpassed this mark on March 12, 2011, in an ACC tournament game against Clemson, scoring 40 points while also grabbing 8 rebounds. Additionally, Barnes's 40 point performance set the record for points by a Freshman in an ACC Tournament game. 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.
Barnes was the ninth UNC Tar Heel to earn ACC Rookie of Year recognition, and the fourth to do so under Coach Roy Williams. Barnes scored the most points as a freshman in the ACC tournament since Phil Ford scored 78 points in 1975. He then went on to the NCAA tournament where he scored 84 points, the most points of any UNC freshman in history.
With the arrival of Andre Iguodala, Barnes became a reserve player. Barnes again participated in BBVA Compass Rising Stars Challenge. He was chosen as a starter for Team Hill. Barnes finished the game with 16 points, 3 rebounds, 3 assists and 2 steals in 23 minutes effort for the team's win. 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.
Under new head coach Steve Kerr, Barnes moved back into the starting lineup and had an immediate impact. On March 18, 2015, he scored a season-high 25 points in a 114-95 win over the Atlanta Hawks. 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.