Nibali, who has led the overall classification for most of this year's Giro, was in complete control between Silandro and the Tre Cime di Lavaredo.
The team Astana leader attacked the finish line with just over three kilometres of the steep final climb to go and managed to drop all of his rivals in the process.
This was Nibali's second stage victory for the race, which has all but secured the 2013 title.
Rigoberto Urán, Carlos Betancur and Fabio Duarte kept themselves in contention initially. However, they didn't have enough in their reserves to keep up the pace.
They eventually fell 17 seconds behind the race leader. They did, however, manage to secure second, third and fourth positions on the stage.
Cadel Evens lost some more time on the overall classification, where he has now been overtaken by Team Sky's Uran.
Rafal Majka finished in tenth place on Saturday, 1:04 seconds behind Nibali.
Earlier during the 210km stage Adam Hansen spearheaded a breakaway group, which included: Giairo Ermeti, Yaroslav Popovych and Pavel Brutt. The group took the initiative 25km into the stage and even established an eight minute lead.
Steadily the quartet was closed down on the approach to the final climb. Brutt left the rest behind as he struck off for the finish alone. The Russian rider was caught and passed by a counter attack from Pieter Weening before he could reach the top of the Passo Tre Croci.
The Dutchman was joined by Gianluca Brambilla and Eros Capecchi, who left the other two behind as the steep final climb began.
The Maglia Rosa group was never far behind the leaders though, and, as it hit the steepest part of the final climb to the Tre Cime, Nibali made his move. He was initially followed by Urán and Betancur but, as he passed Capecchi, the Astana rider jumped again and got away this time and soloed his way to the finish.