MacKinnon, of Halifax, Nova Scotia, played for the Halifax Mooseheads of the Quebec Major Junior Hockey League this past season, racking up 32 goals and 75 points in 44 regular-season games.
The teenager also registered 11 goals and 22 assists in 17 post-season games as the Mooseheads won the Memorial Cup championship.
MacKinnon went to the Avalanche in their first shot at a No. 1 overall pick since 1991, when they drafted Eric Lindros while still known as the Quebec Nordiques.
"It's amazing how things worked out in my career," MacKinnon said at the Prudential Center in Newark, N.J., where the draft was held. "I'm just getting started. It's unbelievable that I'm a member of the Colorado Avalanche. I'm ready for training camp."
The Florida Panthers picked next, taking center Aleksander Barkov of Finland.
Choosing third, the Tampa Bay Lightning drafted left wing Jonathan Drouin, MacKinnon's teammate at Halifax, while the Nashville Predators chose defenseman Seth Jones of the Portland Winterhawks of the Western Hockey League.