La 12e étape du Tour d'Italie 2004 a eu lieu le 21 mai 2004 entre la ville de Cesena et celle de Trévise sur une distance de 178 km. Elle a été remportée au sprint par l'Italien Alessandro Petacchi (Fassa Bortolo) qui remporte ici sa sixième victoire d'étape sur cette édition. Il devance au sprint l'Australien Robbie McEwen (Lotto-Domo) et le Biélorusse Aliaksandr Usau (Phona Hearing Systems). Damiano Cunego (Saeco) conserve le maillot rose de leader à l'issue de l'étape du jour.