The Islanders have now dropped 14 straight on the road, one shy of the team record 15, set in 1973. New York won't have a chance to tie the record for three weeks, as it will begin a five-game homestand before visiting Atlanta on January 29.
Michael Cammalleri, Rene Bourque and Curtis Glencross also scored for Calgary, which has won six straight at home and seven of eight overall. Miikka Kiprusoff had 24 saves in the win for the Flames.
Trevor Smith and Jeff Tambellini tallied for the Isles, who have lost six of seven and have not won a road game since November 24 at Montreal. Joey MacDonald, filling in again for the injured Rick DiPietro, allowed five goals on 41 shots in the loss.
Calgary tallied first on the man advantage. Nearly seven minutes into the game, Langkow sent a pass across the crease to Cammalleri, who fired a shot that MacDonald couldn't handle cleanly, and the puck rolled into the net.
The Flames took a two-goal lead early in the second, as Bourque took a turnover in the Islanders' end and put a wrist shot through the legs of defenseman Brendan Witt and over the shoulder of MacDonald.
The Islanders got back to within one, as Smith notched his first career NHL goal on a rebound attempt right in front of the net at the 5:22 mark of the middle frame.
New York tied the game with 3:57 left in the period on Tambellini's wrist shot, but Langkow put the Flames back ahead by one just 55 seconds later on his 15th goal of the year.
Calgary went ahead 4-2 early in the third. Glencross skated to the slot, where he fired a wrist shot past MacDonald at the 2:52 mark.
Adam Pardy added his first career NHL goal later in the third for the Flames, who held a three-goal lead and cruised to the victory.