Michael Stone scored, and Jacob Markstrom made 24 saves for the Flames (13-11-3), who had won three straight.
"We had some guys who came for a visit, not to win a hockey game," Calgary coach Darryl Sutter said. "Very disappointing. The big guys thought they were wheeler-dealers. Guys were wheeler-dealers, wouldn't touch anybody, so that's the way she goes."
Laine made it 1-0 at 1:02 of the first period, receiving a pass from Jack Roslovic in stride at the blue line and scoring with a wrist shot.
"When the plays were there, we made them," Laine said. "Overall, as a team, we played a pretty solid 60. A complete team effort."
Robinson scored glove side on a breakaway at 2:52 of the second period for a 2-0 lead. He started the play by intercepting a pass by MacKenzie Weegar in his own zone.
"I'll take full responsibility for that loss," Weegar said.
"All six of us [defensemen] have to be a lot better. It starts with myself. It was just about effort. We can't be having bad efforts, especially when we're pushing for a playoff spot right now."