He played in the National Hockey League with the Toronto Maple Leafs, Atlanta Thrashers and Winnipeg Jets between 2008 and 2012.
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.
On 26 February 2009, Stapleton played his first career NHL game with the Toronto Maple Leafs, scoring the shootout winner.
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.
[12] On April 17, 2015, Stapleton left the KHL and signed a one-year contract with Swiss club, EHC Biel of the NLA.
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.
[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.