Yates finished ahead of Richard Carapaz (Movistar) and Rigoberto Uran (Cannondale-Drapac) after the 199km race held in and around Larciano, Tuscany.
Orica-Scott youngsters Jack Haig and Rob Power laid the groundwork for Yates after a four rider break and later attempt by Franco Pellizotti (Bahrain-Merida) and Davide Ballerini (Androno-Giocattoli) proved unsuccessful.
Yates then found himself in the winning group which included Carapaz, Uran and Cannondale Drapac Australian team-mate Simon Clarke plus the Androni-Giocattoli duo of Egan Bernal and Mattia Cattaneo.
led to the finish but Yates had legs in reserve and surged toward the finish for the victory.
“I wasn’t lucky, but I’m not renowned as a sprinter so it’s a good win for me,” Yates said. “I tried to give it some welly on the last climb and have a few digs, but I couldn’t get away from the other guys and had to wait for the sprint.”
“It’s really good to come back here and get a second win, the team were fantastic and it’s a great way to go into next week's Tirreno Adriatico.”