Il 7 settembre 2005, firmò una tripletta nell'incontro vinto per 4-1 contro la Bielorussia a Minsk: divenne, in tal modo, il primo calciatore della Fiorentina a segnare 3 reti in maglia azzurra. Prese parte come titolare alla vittoria del Mondiale 2006, dove realizzò una doppietta contro l'Ucraina nei quarti di finale, mentre gli fu annullato un gol nella finale vinta ai rigori contro la Francia. Al pari di Materazzi, risultò capocannoniere della squadra azzurra con 2 reti realizzate durante la manifestazione.