The Mitchelton-Scott rider moved away from his GC rivals to take the maglia rosa off the Australian with a strong final climb on Thursday, catching Chaves in the final kilometre before allowing the Colombian to cross the line just in front.
FDJ's Thibaut Pinot finished third, 26 seconds behind the leading pair, after a 164km ride between Caltanissetta and the summit finish at Etna, with Froome finishing in the same time as the Frenchman.
He now sits one minute and 11 seconds down on Yates, but has launched into the top 10 of the general classification, and based on this morning's showing, there should be a lot more to come over the next two weeks.
"It was a great day for us", Chaves was reported as saying by Cycling News. "I had a bit of a gap so I took the chance and it worked out". I firstly thank Jack Haig for pulling so much in the breakaway.More news: Three People Killed in Attack at Shiite Mosque in South Africa
More news: Dozens killed as dam bursts in Kenya
More news: At Least 2 Reportedly Dead, 6 Injured After Explosions In Kabul
"The start was insane. I didn't really have to do anything, I could sit in the wheels and save energy". I didn't have to do anything because Esteban was up the road.
"I knew the hardest part was with five kilometres to go, so I tried to save my legs for then and just try to attack to the finish", said Chaves, who was hard-pressed to keep pace with the flying Yates in the final metres. With six stages down, Yates has 15 left if he wants to win the race overall in his first participation of the Giro d'Italia.
The only force he couldn't match was the superb showing from the Mitchelton-Scott team, who achieved a rare 1-2 finish atop the mountainous finish.
Chaves now has four Grand Tour stage wins to his name.
George Bennett of Team LottoNL-Jumbo has finished fourth in the latest stage of the Giro d'Italia. Sacha Modolo (EF Education First-Drapac) 55 3.