Staal grew up in his hometown of Thunder Bay, Ontario playing 'AAA' hockey for the Thunder Bay Kings. He was drafted in the first round of the 2006 Ontario Hockey League (OHL) Priority Selection Draft by the Sudbury Wolves (11th overall).
On April 3, 2009, Staal signed an amateur tryout contract with the San Antonio Rampage, the AHL affiliate of the Coyotes.[3] He appeared in five games for the Rampage in 2009, however he was sent back to the Sudbury Wolves for the remainder of the season.[4]
On May 13, 2010, the Carolina Hurricanes acquired his rights from the Phoenix Coyotes in exchange for a fifth-round draft pick. On May 14, 2010, the Hurricanes signed Staal to a three-year entry-level contract.[5][6] To start the 2010–11 season, he was assigned to the Hurricanes AHL affiliate, the Charlotte Checkers of the AHL. Struggling to gain ice time after 12 games, on November 19, 2010, Staal was reassigned to their ECHL affiliate, the Florida Everblades,[7] but was later recalled.[8] For the 2011–12 season, Staal returned to the Charlotte Checkers. On March 12, 2012, the Hurricanes loaned him to the Boston Bruins' affiliate Providence Bruins of the AHL for the remainder of the 2011–12 season.[9]
After scoring three goals and four assists in 52 games with Charlotte in 2012–13, Staal made his NHL debut with the Hurricanes on April 25, 2013 against the New York Rangers.[10][11][12] He was in the Hurricanes' starting line-up for the game, starting on a forward line with brothers Eric and Jordan.[13]
After five seasons within the Hurricanes organization, Staal was released as a free agent in the summer. With limited NHL or AHL interest, Staal signed a one-year deal with the Florida Everblades of the ECHL on October 7, 2015. Prior to the 2015–16 season, he was traded by the Everblades to the South Carolina Stingrays on October 15, 2015.[14]
On July 4, 2016, Staal signed abroad to a one-year contract with the Edinburgh Capitals of the EIHL.[15]
Staal was named the fifth assistant coach in Orlando Solar Bears history on August 8, 2019.[18] He took on the title of associate coach for the 2021–22 ECHL season, remaining with the team until 2022 when Orlando head coach Drake Berehowsky left his position.[19][20]
In August 2022, Staal was named an assistant coach at AHL side, the Charlotte Checkers. Staal had spent five seasons as a player with the Checkers between 2010 and 2015.[21]