1 Alberto Martinez (USA) Agritubel 18.52.29
2 Beat Zberg (Swi) Gerolsteiner 0.09
3 Luke Roberts (Aus) Team CSC 0.19
4 Lars Ytting Bak (Den) Team CSC 0.28
5 Eddy Ratti (Ita) Naturino-Sapore di Mare 0.31
6 Brian Vandborg (Den) Team CSC 0.43
7 Peter Wrolich (Aut) Gerolsteiner 0.56
8 Marcel Strauss (Swi) Gerolsteiner 1.05
9 Patrick Sinkewitz (Ger) T-Mobile Team 1.07
10 Pascal Hungerbühler (Swi) Team Voralberg-Volksbank 1.18
11 Massimo Codol (Ita) Tenax-Salmilano 1.29
12 Daniel Becke (Ger) Team Milram 1.38
13 Hannes Blank (Ger) Team Lamonta 1.41
14 Jacob Piil (Den) Team CSC 1.46
15 Gerhard Trampusch (Aut) Wiesenhof-Akud 1.54
16 Mariusz Witecki (Pol) Intel-Action 1.56
17 Aivares Baranauskas (Ltu) Agritubel 1.57
18 Robert Retschke (Ger) Wiesenhof-Akud
19 Bartosz Huzarski (Pol) Intel-Action 2.00
20 Marcel Sieberg (Ger) Wiesenhof-Akud 2.02
21 Markus Eichler (Ger) Regiostrom-Senges 2.03
22 Elnathan Heizmann (Ger) Regiostrom-Senges 2.05
23 Migu Mercado Martin (Spa) Agritubel 2.07
24 Stefan Cohnen (Ned) Naturino-Sapore di Mare 2.10
25 Maint Berkenbosch (Ned) Regiostrom-Senges 2.16
26 Erik Zabel (Ger) Team Milram 2.32
27 Pieter Ghyllebert (Bel) Chocolade Jacques 2.56
28 Benny De Schrooder (Bel) Chocolade Jacques 3.05
29 Andreas Matzbacher (Aut) Team Voralberg-Volksbank 4.13
30 Christ Girschweiler (Swi) Team Voralberg-Volksbank 5.56
31 Benoit Salmon (Fra) Agritubel 6.10
32 Micula Dematteis (Ita) Tenax-Salmilano 6.50
33 Björn Schröder (Ger) Team Milram 8.41
34 Giancarlo Ginestri (Ita) Tenax-Salmilano 8.45
35 Thomas Brozyna (Pol) Intel-Action 12.41
36 Andreas Klier (Ger) T-Mobile Team 14.32
37 Steffen Weigold (Ger) Team Lamonta 18.37
38 Jens Mouris (Ned) Regiostrom-Senges 22.55
39 Ralf Grabsch (Ger) Team Milram 23.33
40 Luigi Sestili (Ita) Naturino-Sapore di Mare 24.53
41 Kurt-Asle Arvesen (Nor) Team CSC 25.40
42 Stephan Schreck (Ger) T-Mobile Team 26.08
43 Sebastian Siedler (Ger) Team Milram 26.11
44 Andreas Klöden (Ger) T-Mobile Team 26.18
45 Joshua Collingwood (Aus) Regiostrom-Senges 27.03
46 Mauro Gerosa (Ita) Miche 27.25
47 Kurt Hovelijnck (Bel) Chocolade Jacques 27.26
48 Andre Korff (Ger) T-Mobile Team 27.37
49 Fabio Sabatini (Ita) Team Milram 28.01
50 Enrico Poitschke (Ger) Team Milram 28.05
51 Gerald Ciolek (Ger) Wiesenhof-Akud 28.23
52 Harald Morscher (Aut) Team Voralberg-Volksbank 28.29
53 David Kopp (Ger) Gerolsteiner 30.05
54 Rene Haselbacher (Aut) Gerolsteiner 30.51
55 Koen Barbe (Bel) Chocolade Jacques 31.47
56 Slawomir Kohut (Pol) Miche 32.37
57 Martin Mares (Cze) Naturino-Sapore di Mare 32.40
58 Jaroslaw Zarebski (Pol) Intel-Action 32.42
59 Bo Hamburger (Den) Miche 33.26
60 Emanuele Rizza (Ita) Naturino-Sapore di Mare 34.41
61 Seweryn Kohut (Pol) Miche 34.47
62 Antonio Quadranti (Ita) Naturino-Sapore di Mare 37.09
Final points classification
1 Pieter Ghyllebert (Bel) Chocolade Jacques 18 pts
2 Björn Schröder (Ger) Team Milram 13
3 Gerhard Trampusch (Aut) Wiesenhof-Akud 9
4 Ralf Grabsch (Ger) Team Milram 8
5 Marcel Sieberg (Ger) Wiesenhof-Akud 8
6 Erik Zabel (Ger) Team Milram 7
7 Peter Wrolich (Aut) Gerolsteiner 5
8 Massimo Codol (Ita) Tenax-Salmilano 4
9 Rene Haselbacher (Aut) Gerolsteiner 4
10 Stefan Cohnen (Ned) Naturino-Sapore di Mare 3
11 Alberto Martinez (USA) Agritubel 3
12 Luke Roberts (Aus) Team CSC 3
13 Lars Ytting Bak (Den) Team CSC 3
14 Sebastian Siedler (Ger) Team Milram 3
15 Eddy Ratti (Ita) Naturino-Sapore di Mare 2
16 Pascal Hungerbühler (Swi) Team Voralberg-Volksbank 2
17 Daniel Becke (Ger) Team Milram 2
18 Benny De Schrooder (Bel) Chocolade Jacques 2
19 Kurt-Asle Arvesen (Nor) Team CSC 2
20 Mauro Gerosa (Ita) Miche 2
21 Robert Retschke (Ger) Wiesenhof-Akud 1
22 Maint Berkenbosch (Ned) Regiostrom-Senges 1
23 Andreas Klier (Ger) T-Mobile Team 1
24 Andre Korff (Ger) T-Mobile Team 1
Final mountains classification
1 Pieter Ghyllebert (Bel) Chocolade Jacques 14 pts
2 Björn Schröder (Ger) Team Milram 6
3 Pascal Hungerbühler (Swi) Team Voralberg-Volksbank 5
4 Stephan Schreck (Ger) T-Mobile Team 4
5 Alberto Martinez (USA) Agritubel 3
6 Beat Zberg (Swi) Gerolsteiner 3
7 Eddy Ratti (Ita) Naturino-Sapore di Mare 3
8 Benny De Schrooder (Bel) Chocolade Jacques 3
9 Ralf Grabsch (Ger) Team Milram 3
10 Joshua Collingwood (Aus) Regiostrom-Senges 3
11 David Kopp (Ger) Gerolsteiner 3
12 Aivares Baranauskas (Ltu) Agritubel 2
13 Peter Wrolich (Aut) Gerolsteiner 1
14 Kurt-Asle Arvesen (Nor) Team CSC 1
Best young rider
1 Hannes Blank (Ger) Team Lamonta 18.54.10
2 Marcel Sieberg (Ger) Wiesenhof-Akud 0.21
3 Markus Eichler (Ger) Regiostrom-Senges 0.22
4 Elnathan Heizmann (Ger) Regiostrom-Senges 0.24
5 Stefan Cohnen (Ned) Naturino-Sapore di Mare 0.29
6 Pieter Ghyllebert (Bel) Chocolade Jacques 1.15
7 Andreas Matzbacher (Aut) Team Voralberg-Volksbank 2.32
8 Micula Dematteis (Ita) Tenax-Salmilano 5.09
9 Luigi Sestili (Ita) Naturino-Sapore di Mare 23.12
10 Fabio Sabatini (Ita) Team Milram 26.20
11 Gerald Ciolek (Ger) Wiesenhof-Akud 26.42
12 Martin Mares (Cze) Naturino-Sapore di Mare 30.59
13 Emanuele Rizza (Ita) Naturino-Sapore di Mare 33.00
Final teams classification
1 Team CSC 56.33.18
2 Gerolsteiner 0.22
3 Agritubel 3.18
4 Intel-Action 5.08
5 Regiostrom-Senges 6.06
6 Team Milram 10.01
7 Wiesenhof-Akud 10.25
8 Team Voralberg-Volksbank 12.35
9 T-Mobile Team 14.01
10 Tenax-Salmilano 16.07
11 Naturino-Sapore di Mare 16.53
12 Chocolade Jacques 29.34
13 Team Miche 57.54 Sluiten