The UAE Team Emirates rider, who also won a mountain stage in the 2015 race, took a solo victory ahead of Ilnur Zakarin (katusha-Alpecin) on the 181km stage from Cefalu with Team Sky's Geraint Thomas in third place.
Bob Jungels replaced Quick-Step Floors's teammate Fernando Gaviria as the overall leader and has a six-second advantage over Thomas. Adam Yates (Orica-Scott) is four seconds further back.
“I feel pretty much the same like last year when I also took the jersey from a teammate," Jungels said. "I did an intelligent race, staying focused and not riding in the headwind, which made everything super difficult today.
"The Giro is still long and many things will happen for sure, as all the favourites are at a good level, but I don’t want to think of these things now, I just want to live the moment and this special day.”
Polanc was part of a four-man breakaway in the early part of the stage and by the time the race reached the slopes of the active volcano, the Slovenian was out on his own. He dug deep to come home 19 seconds ahead of Zakarin, whose pursuit proved in vain.
“We were only four riders in the breakaway. Two of them were already at the limit, so at the bottom of the climb, it was not difficult to drop them off," Polanc said.
"It was more difficult to maintain the difference with the bunch. I had to push as much as I could in the last few hundred meters.
"I knew the top favourites were chasing hard. I was thinking of this stage when we were here for a training camp with the team, so I went away knowing that if we were to be caught, I'd be up there for my captain [Rui Costa].
"It was a more difficult to win here today than on the Abetone two years ago because the climb to the Etna is steeper and there was much more wind.”