Gibson declared for the 2009 NBA draft, and was selected 26th overall by the Chicago Bulls. Along with fellow draft pick James Johnson, he signed with the Bulls in July 2009. Gibson was the starting power forward for most of his rookie season with the Bulls and impressed many people with his high energy and good defense. During the All-Star Weekend, Gibson played in the Rookie Challenge, where the Rookie team won for the first time since 2002. The Bulls made the playoffs, securing the 8th seed in the Eastern Conference. Gibson averaged 7.6 points per game and 7.0 rebounds while the Bulls lost to the Cleveland Cavaliers in the first round. At the end of his first season, he was selected to the NBA All-Rookie First Team. During the 2010 off-season, the Bulls signed power forward Carlos Boozer, who was expected to start at the beginning of the season rather than Gibson. But Boozer broke his hand before the pre-season, and Gibson started the first 15 games of the season. After Boozer's return, Gibson moved into a bench role for most of the season. He was selected as a starter for the Sophomore squad in the 2011 NBA Rising Stars challenge at the All-Star weekend, which the Rookie team won 148-140. Gibson played 18 minutes and recorded 8 points. At the end of the season, the Bulls made the playoffs as the first seed in the Eastern Conference. On May 10, 2011, Gibson helped his team take a 3-2 lead in the Eastern Conference semifinals against Atlanta, making all of his 11 points in the fourth quarter. In May 2012, Gibson was named to the US Select Team, joining the likes of Jeremy Lin, DeMarcus Cousins, and Kyrie Irving in practicing with the US Olympic Team in preparation for the 2012 Summer Olympics in London. On October 31, 2012, Gibson signed a multi-year rookie scale contract extension with the Bulls. Playing mostly a bench role in 2013–14, Gibson averaged 13 points and 6.8 rebounds on the season and was among the league leaders in blocked shots per game. He finished second in the NBA's Sixth Man of the Year Award, losing to Jamal Crawford. On June 16, 2015, Gibson underwent arthroscopic surgery on his left ankle and was ruled out for four months. During the 2015–16 season, he appeared in 73 games and averaged 8.6 points and 6.9 rebounds.
On July 10, 2017, Gibson signed with the Minnesota Timberwolves, reuniting himself with coach Tom Thibodeau. He became the first NBA player ever to wear No. 67, in honor of his Brooklyn elementary school, P.S. 67. On November 22, 2017, he scored a season-high 24 points in a 124–118 win over the Orlando Magic. On February 15, 2018, Gibson scored a season-high 28 points against the Los Angeles Lakers.