La première étape du tour de l'Ain 2008 s'est déroulée entre Lagnieu et Montréal-la-Cluse, sous un temps ensoleillé et chaud. D'une longueur de 149,4 kilomètres, l'étape se composait d'une première partie plutôt plate jusqu'au ravitaillement au kilomètre 92, puis d'une succession de côtes et de col jusqu'à l'arrivée, avec au programme les côtes des Essons, de Corveissiat, le col de Matafelon et enfin la côte de Ceignes située à environ 14 kilomètres de l'arrivée.
Un groupe de trois coureurs est parti en échappé dès le 6e kilomètre[1]. Il s'agit de Dennis van Winden de Rabobank CT, Paul Moucheraud de Roubaix Lille Métropole et de Floris Goesinnen de Skil-Shimano. Cette échappée a compté jusqu'à 10 minutes d'avance sur le peloton à 120 kilomètres de l'arrivée. Par la suite des équipes comme AG2R-La Mondiale, Silence-Lotto et La Française des Jeux ont assuré le train pour reprendre un peu de temps. Le col de Matafelon fut fatal à Dennis van Winden qui s'est fait lâcher par ses compagnons d'échappée. Au sommet de la dernière côte, à 14 kilomètres de l'arrivée, le duo de tête conservait 1 minute 37 d'avance sur un peloton décidé à revenir dans la longue descente. Mais les deux coureurs ont réussi à conserver 4 secondes d'avance avec la victoire de Floris Goesinnen devant Paul Moucheraud, Greg Van Avermaet (Silence-Lotto) réglant le sprint du peloton. Les 149,4 kilomètres ont été parcourus en 4 h 8 pour une moyenne de 36 km/h.
La deuxième étape s'est déroulée entre Trévoux et Hauteville-Lompnes sur une distance de 168,1 kilomètres. Le profil de l'étape étant relativement plat sur la première partie, jusqu'au 130e kilomètre où l'ascension du col de Corlier, classé au GPM[2], suivi du col de la Berche étaient les deux grosses difficultés du jour. Les vingt derniers kilomètres sur le plateau d'Hauteville étant légèrement vallonnés. Contrairement à la veille le temps était couvert avec quelques passages pluvieux.
Beaucoup d'échappées ont tenté de partir dans les premiers kilomètres[3], le premier bon coup étant à mettre au compte de Imanol Erviti de la Caisse d'Epargne et Ricardo van der Velde de Rabobank CT au 30e kilomètre. Le groupe aura compté jusqu'à 1 minute 52 au 40e kilomètre, jusqu'à ce que l'équipe Skil-Shimano prenne la chasse. Un peu plus tard, une chute provoqua les abandons de Christophe Moreau (Agritubel), Peter Wrolich (Gerolsteiner) et Scott Davis (Columbia) qui furent transférés à l'hôpital de Bourg-en-Bresse pour des plaies profondes. Cette chute ayant provoqué un ralentissement du peloton, les deux hommes comptaient 3 minutes 30 à 70 kilomètres de l'arrivée, sur un peloton toujours emmené par les Skil-Shimano. Les différentes accélérations dans l'ascension du col de Corlier ont anéanti les espoirs des deux fuyards. Un groupe d'une vingtaine de coureurs, puis David Moncoutié (Cofidis) et Jussi Veikkanen (Française des Jeux) ont attaqué, ces deux derniers n'étant repris qu'à 5 kilomètres de l'arrivée, Anthony Roux (Française des Jeux) en profite pour placer une contre-attaque mais un sprint général a lieu, avec la victoire de Greg Van Avermaet (Silence-Lotto) devant František Raboň (Columbia) et Maxime Bouet (Agritubel), le régional de l'étape. Les 168,1 kilomètres ont été parcourus en 4 h 41 pour une vitesse moyenne de 35,9 km/h.
La troisième étape "a" était considérée comme la plus difficile de cette édition. En effet, la boucle autour de Lélex, d'une longueur de 104,9 kilomètres, est courue en première partie de journée. Elle comptait quatre ascensions recensées au GPM[2]. Ce sont les côtes de Lajoux, le col de Giron, le col de Menthières et la montée finale vers Lélex. Le temps était assez couvert, avec une route humide et quelques passages pluvieux.
La première bonne échappée est partie sous l'impulsion de Sébastien Hinault (Crédit Agricole). Deux autres coureurs l'accompagnent : Dennis van Winden (Rabobank CT) et le second du classement général Floris Goesinnen (Skil-Shimano)[4]. Mickaël Buffaz, le régional de l'étape, est venu se joindre à ce trio. L'avance des quatre est montée jusqu'à 1 minutes 10 à 96 kilomètres de l'arrivée. Mais un regroupement général a lieu après le GPM. Cela profite à quatre autres coureurs partis à 80 kilomètres de l'arrivée. Il s'agit des Français Cyril Lemoine (Crédit Agricole), Sébastien Joly (Française des Jeux), Clément Lhotellerie (Skil Shimano) et Benoit Poilvet (Bretagne Armor Lux). L'écart maximal aura été de 1 minutes 24, avant que Sébastien Joly ne parte seul, mais ne se fasse reprendre à 30 kilomètres de l'arrivée au pied du col des Menthières. Trois hommes, David Moncoutié (Cofidis), Linus Gerdemann (Columbia) et Stéphane Goubert (AG2R La Mondiale), prennent la tête, suivis par un groupe d'une vingtaine de coureurs. Ces trois hommes ne seront pas repris et conserveront 15 secondes d'avance sur le groupe de chasse. La victoire revient à Linus Gerdemann devant David Moncoutié et Stéphane Goubert. Ce premier endosse par la même occasion le maillot jaune de leader. Les 104,9 kilomètres ont été parcourus en 4 heures 31 pour une vitesse moyenne de 22,8 km/h.
La troisième étape b est un court contre-la-montre de 8,8 kilomètres disputé autour de Saint-Genis-Pouilly. Il ne comporte pas de difficultés techniques car il y a seulement trois virages sur la boucle[5]. Les deux premiers kilomètres sont faits d'un faux plat montant, pour terminer par des routes relativement planes.
C'est sous une pluie battante que les coureurs se sont élancés. Tigran Korkotyan (Steg Computer-CKT) est le premier à partir à 17 h 30. Un premier coureur a réalisé un temps inférieur à 11 minutes, il s'agit de Piet Rooijakkers (Skil-Shimano) en 10 minutes 49 qui a ainsi pris la tête du classement provisoire jusqu'à l'arrivée de Tony Martin (Columbia) avec un temps de 10 minutes 17. Il s'impose finalement dans ce contre-la-montre. Linus Gerdemann, arrivé deuxième en 10 minutes 25, conforte sa place de leader et prend 10 secondes au classement général à David Moncoutié arrivé troisième en 10 minutes 35.
La quatrième étape reliait Culoz à Belley. Une étape de 135,8 kilomètres dont les 90 derniers se déroulaient sur un circuit de 30 kilomètres à parcourir trois fois. La principale difficulté du jour était la côte de Parves, classée au GPM[2], elle se situe sur le circuit final, et est donc à escalader trois fois. Contrairement à la veille, le temps était ensoleillé.
Les vingt premiers kilomètres se sont courus à vive allure, à cause des différentes tentatives d'échappées[6], mais ce n'est qu'à 112 kilomètres du but qu'un groupe de cinq, composé de Sébastien Joly (Française des Jeux) Thierry Hupond (Skil Shimano), Benoît Poilvet (Bretagne Armor Lux), Bingen Fernández (Cofidis) et Maxim Gourov (A-Style), réussit à creuser un écart important. L'écart montera jusqu'à deux minutes à 63 kilomètres de l'arrivée. Dix kilomètres plus loin, alors que l'équipe du leader mène un tempo pour maintenir les échappées à une distance convenable, Maxime Bouet (Agritubel), sur ses routes d'entrainement, attaque et se lance en contre pour revenir sur les cinq hommes de tête. Il y parviendra à 43 kilomètres de l'arrivée, l'échappée comptant 1 min 45 s d'avance sur le peloton. Anthony Charteau (Caisse d'Epargne) réalisa la même opération un peu plus tard, puis Christophe Kern (Crédit Agricole), mais le peloton lancé à vive allure anéantit les espoirs des huit hommes à 10 kilomètres de la fin. Une succession d'attaques a ensuite permis à vingt-et-un coureurs de se retrouver devant, avant que John Gadret (AG2R-La Mondiale) ne sorte à 500 mètres de la ligne pour s'imposer devant Jussi Veikkanen (Française des Jeux), Greg Van Avermaet (Silence-Lotto) et Hubert Dupont (AG2R-La Mondiale). Linus Gerdemann ayant coupé la ligne en 17e position et dans le même temps que le vainqueur du jour est sacré vainqueur de cette 20e édition du Tour de l'Ain.