Chaves, taking his second Giro stage win, finished just ahead of Britain s Yates, whose late surge to join the 28-year-old Colombian earned him the overall leader s pink jersey.
However now the Irishman has the monkey off his back, as he produced the flawless sprint to come around maglia ciclamino of Viviani and take his first Grand Tour victory.
From Friday, after the opening two stages in Isreal were followed by three days in Sicily, the Giro continues on the Italian mainland with the 159km seventh stage between Pizzo and Praia a Mare in Calabria.
"Chaves had been out on the road all day, so he deserved the stage win".
"I feel relieved", Bennett, who was second, third, third and third on stages last year and third twice in this year, said afterwards. "I had to freewheel for a moment because I had gone to early, but when the time was right I really took it on".
Watch InCycle's highlights from stage 7 of the Giro d'Italia above.
"I'm obviously delighted to get my first Grand Tour victory".
Chris Froome now trails Yates by 70 seconds on a day when he again looked below his best, although the four-time Tour de France victor did move up 11 places to eighth overall.
Yates' Mitchelton-Scott teammate, Esteban Chaves, remained third overall, 26 seconds behind.
With the sprinters coming to the fore, the general classification contenders enjoyed an easier stage, after the shake-up in the mountains yesterday which saw Bennett launch into the top 10 and Simon Yates take over the pink jersey. A bit stressful at the final as always but OK. "It was good that with not the best legs I could still hang on", said Dumoulin in his post-stage media responsibilities. "I still need to get some time on Tom Dumoulin and some other guys who are better time trialists than me". The finish point of the day on the mountain is the second category of MONTEVERGINE di Mercogliano with a length of 17.1 kilometer.
The Giro ends in Rome on May 27.