Murphy was selected by the Kitchener Rangers third overall in the 2009 Ontario Hockey League Bantam Draft. He began his first season as a 16-year-old and led the OHL in rookie defencemen scoring, scoring 39 points in 62 games playing on a defensive pairing with Columbus Blue Jackets first-rounder John Moore. He followed up his stellar rookie campaign by helping the Rangers proceed to the third round of the OHL playoffs with 17 points in 20 games, leading the Rangers in defence scoring. Murphy broke out his sophomore season, leading the OHL in defencemen goal scoring with 26 goals. He added to that with 53 assists for 79 points in 63 games, good enough for second in OHL in defencemen scoring behind Windsor Spitfires defenceman Ryan Ellis. Murphy was named to the OHL First Team All-Star team for the 2010–11 season. On June 24, 2011, Murphy was drafted 12th overall by the Carolina Hurricanes in the NHL Entry Draft, reuniting with former Kitchener Rangers teammate Jeff Skinner. On September 16, 2011, Murphy signed a three-year, entry-level contract with the Hurricanes. When the Hurricanes' final 23-man roster was released on October 5, 2011, Murphy was on it, and he began the 2011–12 season in the NHL. On October 13, the Hurricanes returned Murphy to his OHL team, the Kitchener Rangers. Murphy suffered a severe concussion on November 4, during a game against the Niagara IceDogs. Consequently, he was placed in "complete shutdown mode" by the Rangers. On September 18, 2012, Murphy was named captain of the Kitchener Rangers. During the 2012–13 season, on February 21, 2013, Murphy made his NHL debut with the Carolina Hurricanes. He made the Hurricanes' opening night roster for the 2013–14 season. On October 6, 2013, he scored his first career NHL point, assisting on a Jay Harrison goal. On June 29, 2017, Murphy was traded to the Calgary Flames in exchange for prospect Keegan Kanzig and a sixth-round pick in the 2019 NHL Entry Draft. The following day, on June 30, the Flames announced Murphy was placed on unconditional waivers to buy-out the remaining year of his contract. The following day, on July 1, Murphy signed as a free agent to a one-year, two-way contract with the Minnesota Wild. During the 2018–19 season, on January 30, 2019, the Wild traded Murphy to the New Jersey Devils in exchange for Michael Kapla. Assigned to AHL affiliate, the Binghamton Devils, Murphy appeared in 2 games before he was recalled to New Jersey on February 9, 2019. In his Devils debut, Murphy had a primary assist on a Pavel Zacha opening goal, helping the Devils to a 3-2 victory over former club, the Carolina Hurricanes, on February 10, 2019. He was returned to the AHL the following day. On June 25, 2019, Murphy was not tendered a qualifying offer to remain with the Devils, releasing him as a free agent. With his NHL prospects dwindling, Murphy opted to move his career abroad, agreeing to a one-year contract with Russian club, HC Neftekhimik Nizhnekamsk of the KHL, on July 27, 2019.
International play
Murphy was cut from the Canadian 2010 Ivan Hlinka Memorial Tournament team despite a great performance during the tryout camp. Murphy would later be selected to the Canadian world junior camp in December, where he was one of the final cuts. During the World Under-18s in April 2011, Murphy had an impressive tournament, scoring 13 points and leading the tournament in defencemen scoring, as well as leading Canada to a fourth-place finish as their leading scorer. He was named Defenceman of the Tournament. On the back of his performance, Murphy was invited to take part in Canada's 2011 national junior team selection camp Murphy was named to Team Canada in his final year of eligibility for the 2013 World Junior Ice Hockey Championships. It was Murphy's third time trying out for Canada's national U20 team.