De eerste twee etappes werden gewonnen door Paolo Bettini. In de 3e etappe raakte Bettini echter betrokken bij een valpartij en was hij gedwongen op te geven. De etappe werd uiteindelijk gewonnen door Óscar Freire, die Igor Astarloa en Riccardo Riccò klopte in een massasprint. De vierde etappe werd gewonnen door Thor Hushovd, het was de eerste vlakke sprint in deze editie van de Tirreno-Adriatico. De volgende dag stond de tijdrit op het programma. Fabian Cancellara won, maar Thomas Dekker werd derde en dat was genoeg om de leiderstrui over te nemen. Vanwege het slechte weer werd de etappe die eigenlijk naar de top van de Monti della Laga had moeten leiden in een licht heuvelachtige etappe. Leonardo Bertagnolli demarreerde in de slotfase en bleef het aanstormende peloton net voor. Thomas Dekker behield de leiding in het algemeen klassement en gaf die ook in de laatste rit niet meer weg. De rit werd gewonnen door Alessandro Petacchi, maar Dekker was de eindwinnaar en volgde daarmee zijn ploeggenoot Óscar Freire op.
Hij was de derde Nederlandse winnaar, nadat eerder al Joop Zoetemelk en Erik Dekker de ronde op hun naam hadden gebracht.