A plus d'un tour de l'arrivée, Frank Vandenbroucke, le vainqueur de Liège-Bastogne-Liège part en solitaire. Il n'est rejoint qu'à 10 kilomètres de l'arrivée.
A 6 kilomètres du but, l'Italien Sergio Barbero attaque et part seul en tête. Le peloton le rejoint dans les 500 derniers mètres, emmené par Robbie McEwen qui lance son équipier Markus Zberg. Le Français Christophe Mengin, idéalement placé dans la roue du Suisse, le dépasse dans les tout derniers mètres et remporte la course.