Morrow played four full seasons of junior hockey in the Western Hockey League with the Portland Winterhawks. After the 2011–12 season, Morrow was named to the WHL's First All-Star Team, and had finished second in league scoring among all defencemen.[1] He was drafted in the first round, 23rd overall, by the Pittsburgh Penguins at the 2011 NHL Entry Draft. He was then subsequently signed to a three-year entry-level contract with the Penguins on August 3, 2011.[2]
In his first professional season in 2012–13, Morrow was assigned directly to the Penguins American Hockey League affiliate, the Wilkes-Barre/Scranton Penguins, due to the ongoing NHL lock-out. After the commencement of the shortened NHL season, Morrow received his first NHL recall to Pittsburgh but did not debut, as a precautionary injury replacement for Kris Letang, on February 10, 2013.[1]
On March 24, 2013, Morrow was traded from the Penguins along with a fifth-round draft pick in the 2013 NHL Entry Draft to the Dallas Stars in exchange for Brenden Morrow (no relation) and a third-round draft pick in the same draft.[3] On July 4, 2013, Morrow's tenure with Dallas was cut short as he was again involved in a trade between the Stars and the Boston Bruins. Boston traded Tyler Seguin, Rich Peverley, and Ryan Button; in exchange, they acquired Morrow, Loui Eriksson, Reilly Smith, and Matt Fraser.[4]
He played 33 games during the 2015–16 season and then re-signed with the Bruins to a one-year, one-way deal for $800,000.
On July 1, 2017, Morrow signed as a free agent to a one-year contract with the Montreal Canadiens[5] In the 2017–18 season, Morrow stuck with the Canadiens out of training camp. Despite Montreal dwindling in the standings, Morrow contributed with his best season performance in recording 5 goals and 11 points in 38 games. He was later traded on February 26, 2018, the day of the trade deadline, to the Winnipeg Jets for a fourth-round draft pick in 2018. Morrow scored his first career playoff goal during Game 1 of the 2018 Stanley Cup playoffs in the Jets' first-round series against the Minnesota Wild.[6]
On June 25, 2019, for a second consecutive season Morrow was not tendered a qualifying offer by the Jets, releasing him as a free agent.[7] Having gone unsigned over the summer, Morrow was invited to attend the New York Rangers training camp on a professional tryout basis on September 12, 2019.[8] At the conclusion of camp, Morrow was released by the Rangers on September 24, 2019.[9]
With the 2019–20 season underway, on October 6, 2019, Morrow signed a one-year, two-way deal with the New Jersey Devils.[10] On December 15, Morrow and the Devils mutually terminated the contract.[11] On December 16, Morrow signed a two-year deal with Dinamo Minsk of the Kontinental Hockey League (KHL).[12] In 22 appearances with Minsk, Morrow added just 3 assists, unable to help propel the club into the post-season.
On July 15, 2020, Morrow agreed to a mutual termination of the remaining year of his contract with Dinamo Minsk, releasing him as a free agent.[13]
In 2021, Morrow signed a contract with the Finnish Liiga team, Porin Ässät. He returned to the KHL with Barys Nur-Sultan for the 2021–22 season,[14] participating in the playoffs despite the exit of many North American-born players and two of the KHL's non-Russia-based teams due to the 2022 Russian invasion of Ukraine.[15]
As a free agent in the following off-season, Morrow signed a one-year contract to continue in the KHL with HC Sochi on July 7, 2022.[16]