Il GP Nobili Rubinetterie va a Danilo Di Luca. Dopo 145 km si decide la corsa: se ne vanno 17 atleti: Damiano Caruso, Possoni, Pellizotti, Chiarini, Di Luca, Taborre, Pagani, Mazzanti, Bailetti, Girardi, Marentes, González Barrera, Laverde, Romero Corredor, Nose, Sano e Vrecer. Sul Gpm di Massino Visconti rimangono davanti Fabio Taborre, Danilo Di Luca, Robert Vrecer e Tomasz Nose. Si avvantaggiano sul gruppo inseguitore guadagnando fino ad oltre 1' quando mancano 5 km all'arrivo di Stresa. Di Luca allunga nell'ultimo chilometro e va a vincere su Nose, Vrecer e Taborre.
Dopo il giorno di riposo nella tappa da Limone sul Garda a Falzes arriva la fuga e vince il basco Izagirre. Altissima la media della prima ora ma al km 52 escono Herrada, De Marchi, Frank, Izagirre, Mazzanti, Bak, Maes, Clement, Brändle e Boaro. I dieci hanno un vantaggio massimo di 12'30". Sulla salita verso Falzes scatta Izagirre mentre De Marchi, Frank ed Herrada López provano a rientrare, staccati di 10". Il basco dell'Euskaltel però non perde terreno, anzi, guadagna secondi su De Marchi e Frank e va a vincere la tappa. Secondo classificato Alessandro De Marchi su Stef Clement.