Following the completion of his junior playing career Lain played college hockey for the Lake Superior State Lakers. He played three seasons for the Lakers registering 21 goals, 39 points, and 210 penalty-minutes in 108 games. After graduating Lain signed with the Vancouver Canucks on a one-year contract. Upon signing with Vancouver Lain joined their American Hockey League affiliate, the Chicago Wolves. He played in 13 games for Chicago and did not register a point. Though he failed to score Lain was re-signed by Vancouver in the off-season to a two-way two-year $1.2 million contract. Lain was seen as a possible candidate for the fourth linecentre positions heading into Canucks training camp for the 2013–14 season. He failed to make the team and was assigned to the Canucks' new AHL affiliate the Utica Comets. Upon joining the Comets Lain was re-united with former Blades teammate Jeremy Welsh and Oakville native Brandon DeFazio. Lain played 19 games for Utica before scoring his first professional goal. It was part of a two-goal performance against goaltender Joey MacDonald helping the Comets to a 4–3 overtime win over the Abbotsford Heat. Lain made his NHL debut January 18, 2014, in a home game against the Calgary Flames. Lain set an NHL record for the fastest fight and fastest game misconduct to start a career at 2 seconds, during a brawl off the opening faceoff, surpassing the previous record of 12 seconds set by John Ferguson of the Montreal Canadiens in a fight with Ted Green of the Boston Bruins on October 8, 1963. Three days later Lain scored his first, and as of the 2017–18 season his only, NHL goal on his first shot on goal in his second shift of the game. The goal was scored on Ben Scrivens of the Edmonton Oilers in a 2–1 Vancouver victory. Lain played eight games for Vancouver before being reassigned to Utica for the Olympic break. While playing in the Olympics, Canucks' centre Ryan Kesler suffered a hand injury and Lain was recalled from Utica when the Canucks returned from the break. Five days later Lain was again reassigned to the Comets after playing in one game. On November 20, 2014, Lain was traded by the Canucks to the Edmonton Oilers in exchange for centre Will Acton. He was assigned to AHL affiliate, the Oklahoma City Barons for the remainder of his contract. To begin the 2015–16 season, Lain signed a try-out contract with the Manitoba Moose. He failed to feature in any games with the Moose before he was released from his try-out on October 19, 2015. Lain agreed to a one-year contract with the Quad City Mallards of the ECHL, and was immediately signed to a try-out with AHL affiliate, the Iowa Wild on October 25, 2015. On March 17, 2016, he was signed to a PTO contract for his second stint with the Utica Comets. As a free agent over the summer, Lain was unable to attain an NHL or AHL contract, opting to sign a one-year deal with ECHL outfit, the Idaho Steelheads, on September 20, 2016.