Martin Jones made 25 saves on 27 shots for San Jose.
"Let's be honest, I don't think anybody was thinking we were going to come here and sweep both games," Sharks coach Peter DeBoer said, referring to their 4-2 win in Game 3 on Tuesday. "We had a chance to (win) halfway through the game, and we just didn't get it done."
The Avalanche reunited their top line of Gabriel Landeskog, MacKinnon and Mikko Rantanen, and the three combined for a goal, two assists and 13 shots on goal.
"They're good, they're going to create stuff," San Jose defenseman Erik Karlsson said. "I think we keep it to a limit where we can control it. They're still going to create stuff and score goals, and we have to find a way around it. Today wasn't our best effort. We just have to learn from it and go back to San Jose and put up a better effort next game."
MacKinnon gave the Avalanche a 1-0 lead at 10:34 of the second period. Rantanen was in the slot when he deflected Cale Makar's shot. Jones made the save, but MacKinnon batted in the rebound of his initial shot from near the left post.
"I just cleaned up garbage, nothing really," MacKinnon said. "Good play by Cale. High tipped to Mikko, and I found a quiet area on the other side of the net. We just wanted to stick with it. You never know when you're going to get [a goal]. We were prepared for a 0-0 game the whole way.
"It just felt like a really tight game out there. We had some looks, not a ton. That's OK, it's playoff hockey, ready to win every game 1-0. We'll take that."
Said Jones: "A high tip that caught me in the mask. It just kind of sat there for him, and he whacked it in."
Avalanche coach Jared Bednar said they'll need more goals like MacKinnon's to win the series.
"I love it as a coach because I don't think you're going to be dancing around and making a bunch of high-skilled plays in traffic and score the highlight-reel goal that's going tic-tac-toe," Bednar said. "I don't see that happening. If you look at the goals that are scored in this series, guys are shooting, there's traffic. Both goals were the exact same way."
Colin Wilson made it 2-0 at 3:11 of the third period on the power play. Rantanen skated to the net and made a behind-the-back pass to Wilson at the edge of the crease.
"It was kind of a scramble," Rantanen said. "I saw in the corner of my eye [Wilson] was backdoor, and Jones had pretty good position on me and trying to stuff it through his pads wasn't going to work for me. [Wilson] was in a good spot, and it was a good goal."
Erik Johnson scored an empty-net goal from below the goal line in the Colorado zone with 1:09 remaining for the 3-0 final.