The Lampre rider was never threatened and finished in a 21-man leading pack in a 181km stage won in a sprint by Italy's Andrea Guardini (Farnese Vini) from countrymen Jacopo Guarnieri (Liquigas) and Alessandro Petacchi (Lampre).
The 21-year-old Ulissi claimed the overall lead after his stage win on Saturday, and completed his second career victory after 2010's Gran Premio Industria e Commercio di Prato. He also won stage 17 of this year's Giro d'Italia.
He finished comfortably clear of Radoslav Rogina (Loborika Favorit) with home rider Robert Vrecer (Perutnina Ptuj) completing the podium.
Giro d'Italia
'Just ignore him!' - Breakaway politics get a bit feisty
AN HOUR AGO
Another Slovenian, Kristijan Koren (Liquigas) won the sprinters' points classification.
Giro d'Italia
Giro d'Italia Stage 20 LIVE - Covi the lone leader on final climb, GC battle to ignite behind
8 HOURS AGO
Giro d'Italia
Opinion: Five scenarios for the Giro d'Italia's final showdown in the Dolomites
19 HOURS AGO