After a brief stint with the Portland Pirates of the American Hockey League, he signed with Jokerit of the Finnish SM-liiga, completing a tryout which led to a one-year contract. During his first Jokerit season, Stapleton won the SM-liiga silver medal and finished second in playoff scoring.
On 26 February 2009, Stapleton played his first career NHL game with the Toronto Maple Leafs, scoring the shootout winner.[4] In his next game Stapleton was credited with his first NHL goal against the Ottawa Senators, goaltender Brian Elliott on February 28, 2009.[5]
For the 2010–2011 season, Stapleton signed a professional Try-out agreement with the San Antonio Rampage of the AHL. On November 30, 2010, Stapleton was signed to a 2-year contract by the Atlanta Thrashers.[8]
On February 27, 2011, Stapleton scored his first goal since April 16, 2010. It was against his former team, the Toronto Maple Leafs. He was invited and accepted an invitation to join the United States national team for the 2011 IIHF World Championship, 2013 IIHF World Championship, and 2014 IIHF World Championship, winning bronze in 2013.
At 13:15 of the 3rd period on April 10, 2011, against Brent Johnson of the Pittsburgh Penguins, Stapleton would score the final goal in the final game in Thrashers' history.[1][9][10] The following season, the Thrashers, including Stapleton, moved to Canada to become the Winnipeg Jets. For the first time Stapleton remained at the NHL level for an entire season, often playing the point on the power play despite playing his even-strength minutes as a third- or fourth-line forward; partly because of this, he logged career highs (and more than doubled his career NHL totals) in games played, goals, assists and points.
Despite this performance, Stapleton was not re-signed by the Jets when his contract expired the following summer. On July 10, 2012, it was announced that Stapleton had agreed to terms with Dinamo Minsk of the Kontinental Hockey League. After a good performance with Dinamo, he signed in 2013 a two-year deal with Ak Bars Kazan.
After only one-season with Ak Bars, Stapleton was released from the remaining year of his contract and joined fellow KHL club, Neftekhimik Nizhnekamsk on a one-year deal on July 11, 2014.[11] Stapleton was traded to Metallurg Magnitogorsk on December 15, 2014.[12]
On April 17, 2015, Stapleton left the KHL and signed a one-year contract with Swiss club, EHC Biel of the NLA.[13]
On August 1, 2016 he signed with the Karlstad-based, Swedish club Färjestad BK, of the Swedish Hockey League (SHL). After collecting just 4 points in 20 games, he parted company with the team on November 26, 2016, and inked a deal with HC Spartak Moscow in a return to the KHL for the remainder of the 2016–17 campaign the following day.[14][15]
On April 21, 2017, Stapleton agreed to a one-year contract with EHC Olten of the Swiss League (SL).[16] He contributed with 21 points in 29 games before opting to leave Switzerland and join German club, ERC Ingolstadt of the Deutsche Eishockey Liga for the closing stages of the 2017–18 season on January 6, 2018.[17]