The Cannondale rider won the 120km stage in Fiorano Modenese.
He was part of a 10-man escape group along with Simone Ponzi (Astana), Sergei Chernetski (Katusha), Marco Coledan (Bardiani-CSF), Diego Rosa (Androni-Venezuela), Carlos Quintero (Colombia) Alessandro Mazzi (Utensilnord Ora24.eu), Simon Pavlin (Adria Mobil) and Boris Shpilevsky (Lokosphinx) that formed early in the stage.
They built up a maximum lead of 4:40 before Caruso and Mazzi attacked on the first ascent of the Montecchio. Then Caruso went alone on the second time up the climb and came home 13 seconds clear.
Ulissi finished one minute 35 seconds ahead of Lampre-Merida team-mate Damiano Cunego on GC.