In 2007–08, his first professional season, Purcell played most of the year in the American Hockey League with the Manchester Monarchs, but also played ten games in the NHL with the Los Angeles Kings. On February 15, 2008, Purcell scored his first NHL goal against the Calgary Flames' Miikka Kiprusoff at Staples Center in Los Angeles. In the AHL, he was named to the 2008 AHL All-Star Classic and became the first rookie to score an All-Star Classic hat-trick. He also scored the decisive goal in the shootout to give the Canadian All Stars a 9–8 win over the PlanetUSA All-Stars. Purcell was named the game's MVP. Finishing his rookie AHL season with 83 points in 67 games, Purcell won the Dudley "Red" Garrett Memorial Award as the AHL's top rookie. In 2008–09, Purcell split the season between the Monarchs and Kings, playing 40 games in the NHL while scoring 4 goals and 12 assists for 16 points. At the NHL trade deadline in 2010, Purcell was traded to the Tampa Bay Lightning in exchange for forward Jeff Halpern. Purcell finished the 2009–10 season with 15 points. On July 6, 2010, new Lightning general managerSteve Yzerman re-signed Purcell to a one-year contract. Purcell then blossomed under new Lightning head coach Guy Boucher. On February 23, 2011, Purcell scored his first NHL hat-trick, against the Phoenix Coyotes. He went on to finish with 51 points in the regular season, and 17 points in 18 games during the 2011 Stanley Cup playoffs. On July 20, 2011, Purcell avoided arbitration by signing a two-year, $4.75 million contract extension with Tampa Bay just hours before his arbitration meeting. On April 7, 2012, in the Lightning's last game of the 2011–12 regular season, Purcell recorded his second career NHL hat-trick, helping Tampa Bay win 4–3 in overtime. After a breakout season in which he scored 24 goals and 65 points, Purcell was named to Canada's roster for the 2012 IIHF World Championship. On July 10, 2012, Purcell signed a three-year contract extension with the Lightning to keep him with the club through to the 2015–16 season. On June 29, 2014, Purcell was traded to the Edmonton Oilers in exchange for Sam Gagner, who was himself immediately traded to the Arizona Coyotes. In his second season with the Oilers in 2015–16, with the club out of contention for the Stanley Cup playoffs and in the last year of his contract, after scoring 32 points in 61 games, on February 27, 2016, Purcell was traded to the Florida Panthers in exchange for a third-round pick in the 2016 NHL Entry Draft. On July 1, 2016, Purcell as a free agent opted to return to his original club, the Los Angeles Kings, signing a one-year, $1.6 million contract. In the 2016–17 season, Purcell endured an unsuccessful reunion with the Kings, contributing with just 2 assists in 12 games before he was waived and reassigned to the club's AHL affiliate, the Ontario Reign, for the remainder of the season. Purcell regained his offensive production with Ontario, collecting 38 points in as many games. As a free agent from the Kings, and going unsigned over the summer, on September 14, 2017, it was announced Purcell had joined the Boston Bruins on a professional try-out contract to attend training camp. After completing the pre-season with the Bruins, Purcell was released from his PTO without a contract on October 2, 2017.