Mikael Backlund and Connor Zary scored, and Dustin Wolf made 11 saves in relief for the Flames (10-12-3), who have lost consecutive games. Dan Vladar was pulled in the second period after allowing three goals on 16 shots.
"We know we can be better," Backlund said. "This is the worst start in a long time. Hopefully, the worst that we'll see in a while. We all know it. It's been discussed. Now we're looking forward to next game (against the Carolina Hurricanes on Thursday). We know we've got to come out a lot harder and have a really good first period."
Foligno scored on Minnesota's first shot, a wrister over Vladar's glove after stickhandling around Calgary rookie defenseman Ilya Solovyov, to take a 1-0 lead 1:26 into the first period.
It was the seventh straight game and 13th time in the past 15 that the Flames have surrendered the first goal.
"It's just on everybody in this room," Calgary forward Blake Coleman said. "Whatever it is, the preparation, it's not there from the drop and even in games where we are energy-wise, we're good, we're making mistakes that are back in the net. It's hard to chase games."
Kaprizov extended the lead to 2-0 when he tapped in a rebound of Marco Rossi's shot off the post 45 seconds into the second period. Zuccarello assisted on the goal to extend his assist streak to eight games (nine assists) and his point streak to 10 (14 points; three goals, 11 assists).