MacKinnon separated himself from the field when scoring seven goals and six assists in four games to lead the Mooseheads to Memorial Cup glory last month.
Florida surprisingly took Finnish centre Aleksander Barkov with the second pick, while Tampa Bay took MacKinnon's Halifax linemate Jonathan Drouin with the third selection.
Seth Jones, ranked by many as the top prospect, slipped to number four and was taken by the Nashville Predators.
Carolina Hurricanes took Swedish standout Elias Lindholm at number five and Calgary Flames elected for two-way centre Sean Monahan at number six.
Tough defenceman Darnell Nurse went to Edmonton at seven, while another Finn, Rasmus Ristolainen, was taken by Buffalo at number eight.
Vancouver traded goaltender Cody Schneider to New Jersey for the ninth pick and took centre Bo Horvat.
Highly-touted Russian winger Valeri Nichushkin rounded out the top 10 when selected by the Dallas Stars.