Hele feltet kom samlet til mål på den 183 kilometer lange etappen fra Pizzo Calabro til Catanzaro-Lungomare.
Cavendish vant spurten foran Robert Förster og gårsdagens etappevinner, italienske Daniele Bennati.
500 meter før mål var det en stor velt i feltet, men de beste spurterne kom seg unna.
Cavendish vant sin sjette seier i år, men det var hans aller første seier i et etapperitt.
Bennati dro opp spurten, men Cavendish dro forbi ham med Förster på hjul 100 meter før målstreken.
Beholdt ledelsen
Italienske Franco Pellizotti beholdt ledelsen sammenlagt.
- Laget mitt jobbet virkelig godt i dag slik at jeg kunne beholde sammenlagtledelsen. Jeg innser at det kan bli vanskelig å fortsette i den rosa trøya etter onsdagens etappe, men jeg skal ikke gi fra meg ledelsen uten kamp, sa Pellizotti.
Onsdagens etappe er på 202 kilomter og er relativt flat.