Jake Allen turned aside 34 shots and Kirby Dach scored the shootout winner as the Montreal Canadiens defeated the Calgary Flames 2-1.