Zberg profite également des secondes de bonifications prises à l'arrivée pour s'emparer du maillot jaune de leader du classement général au détriment de l'Allemand Steffen Wesemann (Deutsche Telekom). Le vainqueur de l'étape Rodriguez s'empare logiquement du maillot du classement par points alors que c'est Valjavec qui portera le maillot noir de leader du classement de la montagne lors de la deuxième étape.
En fin d'étape, Boogerd s'isole et est rejoint par en deux temps par six coureurs, d'abord Eddy Mazzoleni (Polti), Stefano Garzelli (Mercatone Uno-Albacom) et Marco Fincato (Fassa Bortolo) puis Wladimir Belli (Fassa Bortolo), Francesco Casagrande (Vini Caldirola-Sidermec) et Marcel Strauss (Post Swiss). Belli attaque dans le dernier kilomètre et s'impose avec trois secondes d'avance sur le reste du groupe. Le gros du peloton termine avec un peu plus de trente secondes de retard.
Michael Boogerd en profite pour s'emparer du maillot jaune de leader du classement général au détriment de son coéquipier, le Suisse Markus Zberg. L'AméricainFred Rodriguez (Mapei) conserve le maillot rouge de leader du classement par points alors que Stephan Gottschling s'empare du maillot noir de leader du classement de la montagne au détriment du SlovèneTadej Valjavec (Fassa Bortolo).
La 4e étape est tracée entre la ville de Fribourg et celle de Verbier sur une distance de 156 kilomètres. C'est la première véritable étape de montagne sur cette édition. En effet, l'arrivée est située au sommet d'une ascension d'un dénivelé de 1000m.
Grâce à cette victoire, Pascal Hervé s'empare du maillot jaune de leader du classement général au détriment du NéerlandaisMichael Boogerd (Rabobank) qui, lui, sort du top 10 provisoire. Il possède 44 secondes d'avance sur Jan Ullrich et 47 sur Camenzind. Fred Rodriguez conserve son maillot rouge de leader du classement par points, et de même pour l'Allemand Stephan Gottschling (Post Swiss) avec le maillot noir de leader du classement de la montagne.
Grâce à sa troisième place, Ullrich s'empare de la tête du classement général au détriment de l'ancien porteur du maillot jaune, le FrançaisPascal Hervé (Polti), seulement 52e de l'étape à plus de deux minutes et 40 secondes, et qui redescend à la quatrième place du classement, doublé également par le SuisseOscar Camenzind (Lampre-Daikin) et l'Italien Daniele Nardello (Mapei-Quick Step). L'AméricainFred Rodriguez (Mapei-Quick Step) et l'Allemand Stephan Gottschling (Post Swiss) conserve leurs maillots de leaders, respectivement du classement par points et du classement de la montagne.
La 6e étape du Tour de Suisse est la plus courte de cette édition avec seulement 103 kilomètres dans le cadre d'une boucle autour de la ville d'Ulrichen dans le canton du Valais et avec trois ascensions de 1re catégorie.
L'étape démarre notamment par une échappée du vainqueur du Tour d'Italie, l'ItalienStefano Garzelli (Mercatone Uno-Albacom) qui passe notamment les deux premières ascensions de la journée en tête. Il est cependant repris lors de la dernière, le Col de la Furka situé à 2436m d'altitude. Au cours de cette dernière partie de l'étape, à six kilomètres de l'arrivée, Eddy Mazzoleni (Polti s'échappe avec deux coéquipiers de l'équipe Fassa Bortolo), Dario Frigo et Wladimir Belli. Malgré le travail seul de Mazzoleni en tête de l'échappée pour essayer de prendre la tête du classement général, Belli attendant à chaque fois son coéquipier Frigo, c'est bien le sociétaire de l'équipe Polti qui s'impose à l'arrivée. Les trois Italiens terminent ensemble avec un peu plus de vingt secondes d'avance sur l'ancien leader le NéerlandaisMichael Boogerd (Rabobank) et le FrançaisRichard Virenque (Polti), alors que le porteur du maillot jaune, l'AllemandJan Ullrich (Deutsche Telekom) limite la casse et termine à un peu moins de deux minutes du vainqueur.
Avec sa victoire d'étape, Mazzoleni échoue a récupérer le maillot jaune de leader mais se rapproche tout de même en seconde position du classement général, à seulement 13 secondes d'Ullrich. Au total, avec le SuisseOscar Camenzind (Lampre-Daikin, 3e à 17 sec), Frigo (4e à 30 sec), Daniele Nardello (Mapei-Quick Step, 5e à 33 sec) et Belli (6e à 42 sec), on retrouve donc six coureurs en moins de 42 secondes au classement général. Au classement par points, Belli profite de sa troisième place du jour pour s'emparer du maillot rouge de leader au détriment de l'AméricainFred Rodriguez (Mapei-Quick Step) alors que Garzelli profite de son échappée pour prendre le maillot noir de leader du classement de la montagne en lieu et place de l'Allemand Stephan Gottschling (Post Swiss).
Parmi les grands perdants du jour, on retrouve Pascal Hervé (Polti) qui termine à plus de sept minutes, Mauro Zanetti (Vini Caldirola) à près d'une demi-heure et l'abandon du tenant du titre, Francesco Casagrande (Vini Caldirola).
La 7e étape de cette étape du Tour de Suisse est une étape de transition entre la ville de Locarno et celle de Lugano et sur une distance de 171 kilomètres.
Ullrich conserve le maillot jaune de leader à l'issue de cette étape qui n'a pas provoqué de gros changements au classement général. Par contre, l'AméricainFred Rodriguez (Mapei-Quick Step) reprend le maillot rouge de leader du classement par points au détriment de Wladimir Belli qui s'en était emparer la veille. Stefano Garzelli (Mercatone Uno-Albacom) conserve lui le maillot noir de leader du classement de la montagne.
La 8e étape est tracée entre la ville de Locarno, dont l'étape d'hier était déjà partie, et la commune de La Punt Chamues-ch sur une distance de 170 kilomètres. C'est la première des deux étapes de montagne finales de cette édition. Elle passe notamment par le Col du San Bernardino à plus de 2000m d'altitude et le Col de l'Albula, une montée de plus de 30 km à près de 5% de moyenne.
Présent dans le groupe de tête qui se dispute la victoire, le SuisseOscar Camenzind (Lampre-Daikin) profite de la défaillance d'Ullrich pour s'emparer du maillot jaune de leader du classement général devant les deux coéquipiers de la Fassa Bortolo, les Italiens Dario Frigo et Wladimir Belli. Ullrich se retrouve 4e du classement. Le vainqueur Garzelli conserve son maillot noir de leader du classement de la montagne et Marco Fincato, 8e de l'étape, s'empare du le maillot rouge de leader du classement par points au détriment de l'AméricainFred Rodriguez (Mapei-Quick Step).
La 9e étape de cette édition est la dernière de montagne. Elle est tracée entre la ville de Saint-Moritz et celle d'Arosa, toutes deux situées dans le Canton des Grisons.
Dans la première partie de l'étape, dix coureurs s'échappent et forment l'échappée dès la première ascension de la journée, le Flüelapass. Ils prennent jusqu'à onze minutes d'avance mais le mieux classé est l'AutrichienMatthias Buxhofer (Phonak), 36e à plus de 26 minutes. Le peloton laisse alors le champ libre aux fuyards et se réserve pour l'ascension finale, la montée à Arosa, montée de 25 kilomètres avec des passages à 18%. A l'avant, l'échappée se décante et c'est l'ItalienFrancesco Secchiari (Saeco-Valli & Valli) avec plus de trois minutes d'avance sur son coéquipier le champion d'ItalieSalvatore Commesso et le SuisseChristian Heule (Post Swiss. Parmi les favoris, les deux Italiens de l'équipe Fassa BortoloWladimir Belli et Dario Frigo attaquent tour à tour le leader du classement général, le Suisse Oscar Camenzind (Lampre-Daikin) avec notamment le FrançaisRichard Virenque (Polti). Celui-ci résiste grâce notamment à son coéquipier Gilberto Simoni et les principaux leaders terminent l'étape ensemble, Camenzind conservant son maillot jaune de leader.
Camenzind conserve donc son maillot jaune de leader du classement général devant les deux membres de l'équipe Fassa Bortolo, Dario Frigo à 14 secondes et Wladimir Belli à 26 secondes. L'ancien leader l'AllemandJan Ullrich (Deutsche Telekom) perd encore plus de vingt secondes sur les autres leaders et perd une place au classement général au profit du SuisseSven Montgomery (La Française des Jeux). Le leader du classement de la montagne, Stefano Garzelli (Mercatone Uno-Albacom) conserve son maillot noir de leader, de même pour Marco Fincato (Fassa Bortolo) qui conserve son maillot rouge de leader du classement par points
En fin de course, le régional de l'étape Strauss attaque mais seul Rastelli est décroché. Zanini En profite pour remporter l'étape au sprint devant Mühlbacher Strauss. Son équipier l'AméricainFred Rodriguez remporte le sprint du peloton sept minutes et 30 secondes plus tard, lui permettant de reprendre le maillot rouge de leader du classement par points.