Halmo joined the Owen Sound Attack during the 2008–09 season, playing 62 games with the team during his first season in the Ontario Hockey League. He tallied eight points and picked up an assist during the playoffs that year, though the team was eliminated in the first round. The following season, Halmo lead the Attack in penalty minutes, with 121. The Attack won the J. Ross Robertson Cup during the 2010–11 season, with Halmo scoring 20 goals, only one of seven players in the league to accomplish that during the season. In 2011, a free-agent Halmo signed a three-year, entry-level contract with the New York Islanders of the National Hockey League. He was assigned to the Islanders' minor league affiliate, the Bridgeport Sound Tigers of the American Hockey League. Only playing in five games during the season with the Sound Tigers, Halmo spent the majority of the season with the Attack until he received a 10-game suspension for a hit on Edmonton Oilers prospect, Nail Yakupov. Due to the suspension, he missed one of the Attack's playoff series. In the 2012–13 season, he played entirely with the Sound Tigers, picking up fourteen points throughout 46 games. In February 2014, Halmo was recalled by the Islanders along with Ryan Strome and Anders Lee. At the time of being recalled, he ranked third among the Sound Tigers in scoring, with 37 points in 53 games. He scored his first NHL goal on April 1, 2014 in a game against the Florida Panthers. After four seasons within the Islanders organization, Halmo left as a free agent to sign a one-year, two-way contract with the Tampa Bay Lightning on July 9, 2016. Halmo played one season within the Lightning organization before leaving as a free agent. With no further NHL interest, Halmo opted to sign abroad in agreeing to a one-year deal with Italian outfit, HCB South Tyrol, who compete in the EBEL on September 6, 2017. Following the 2018–19 season in the Finnish Liiga with Ilves, posting 5 goals and 16 points, Halmo continued his European career in signing a one-year contract with German club, Iserlohn Roosters of the DEL, on May 29, 2019.