Dan Vladar made 29 saves for the Flames (36-16-7), who were coming off a 3-0 win against the Detroit Red Wings on Saturday.
"We worked hard and we were an honest team tonight. Their big guys scored and ours didn't. Look at who scored the goals. They're a little more schooled than we are in terms of playing low, close games," Calgary coach Darryl Sutter said. "When that happens, your big guys have to finish their opportunities."
MacKinnon gave Colorado a 1-0 lead at 9:55 of the first period, taking a cross-ice backhand pass from Rantanen and scoring a power-play goal short side from the left circle.
MacKinnon then pushed it to 2-0 at 4:00 of the third period with another goal from the left circle following a tie-up on the face-off. He has scored 12 goals in his past 13 games after scoring nine in his first 32 games this season.
"[MacKinnon is] playing well. He's playing two-way hockey, and he's scoring a lot. There was never a doubt that he can't score," Rantanen said. "He's playing really well, but he was playing well before that, too, it just wasn't going in. So I'm really happy for him, and it's good for our team, too."