This is a list of teams and cyclists for the 2004 Vuelta a España.
{| border="1" cellpadding="3" cellspacing="0" style="margin:auto;"
|-
! style="text-align:center; width:190px; background:#efefef;"|Liberty Seguros<br>20px|Spain LST
! style="text-align:center; width:190px; background:#efefef;"|Comunidad Valenciana–Kelme<br>20px|Spain KEL
! style="text-align:center; width:190px; background:#efefef;"|Ag2r Prévoyance<br>20px|France A2R
|- valign=top
|
{| cellpadding="0" cellspacing="0" style="margin:auto; width:190px;"
|-
|1||Roberto Heras||20px|Spain
|-
|2||Isidro Nozal||20px|Spain
|-
|3||René Andrle||20px|Czech Republic
|-
|4||Giampaolo Caruso||20px|Italy
|-
|5||Koldo Gil||20px|Spain
|-
|6||Igor G. de Galdeano||20px|Spain
|-
|7||Jan Hruška||20px|Czech Republic
|-
|8||Marcos Serrano||20px|Spain
|-
|9||Dariusz Baranowski||20px|Poland
|-
| colspan="3" style="text-align:center;"|Sports directors:<br>Manuel Saiz and Marino Lejarreta
|}
|
{| cellpadding="0" cellspacing="0" style="margin:auto; width:190px;"
|-
|11||Alejandro Valverde||20px|Spain
|-
|12||David Blanco||20px|Spain
|-
|13||Francisco Cabello||20px|Spain
|-
|14||Carlos García Quesada||20px|Spain
|-
|15||Eladio Jiménez||20px|Spain
|-
|16||José Juliá||20px|Spain
|-
|17||David Latasa||20px|Spain
|-
|18||Javier Pascual Rodríguez||20px|Spain
|-
|19||Rubén Plaza||20px|Spain
|-
| colspan="3" style="text-align:center;"|Sports directors:<br>Vicente Belda and José Ignacio Labarta
|}
|
{| cellpadding="0" cellspacing="0" style="margin:auto; width:190px;"
|-
|21||Mikel Astarloza||20px|Spain
|-
|22||Stéphane Bergès||20px|France
|-
|23||Íñigo Chaurreau||20px|Spain
|-
|24||Andy Flickinger||20px|France
|-
|25||Stéphane Goubert||20px|France
|-
|26||Nicolas Inaudi||20px|France
|-
|27||Christophe Oriol||20px|France
|-
|28||Erki Pütsep||20px|Estonia
|-
|29||Julien Laidoun||20px|France
|-
| colspan="3" style="text-align:center;"|Sports directors:<br>Laurent Biondi and Artūras Kasputis
|}
|-
! style="text-align:center; width:190px; background:#efefef;"|Alessio–Bianchi<br>20px|Italy ALS
! style="text-align:center; width:190px; background:#efefef;"|Cafés Baqué<br>20px|Spain BAQ
! style="text-align:center; width:190px; background:#efefef;"|Cofidis–<br>Le Crédit par Téléphone<br>20px|France COF
|- valign=top
|
{| cellpadding="0" cellspacing="0" style="margin:auto; width:190px;"
|-
|31||Pietro Caucchioli||20px|Italy
|-
|32||Angelo Furlan||20px|Italy
|-
|33||Martin Hvastija||20px|Slovenia
|-
|34||Ruslan Ivanov||20px|Moldova
|-
|35||Vladimir Miholjević||20px|Croatia
|-
|36||Claus Michael Møller||20px|Denmark
|-
|37||Cristian Moreni||20px|Italy
|-
|38||Ellis Rastelli||20px|Italy
|-
|39||Scott Sunderland||20px|Australia
|-
| colspan="3" style="text-align:center;"|Sports director:<br>Dario Mariuzzo
|}
|
{| cellpadding="0" cellspacing="0" style="margin:auto; width:190px;"
|-
|41||Félix Cárdenas||20px|Colombia
|-
|42||Pedro Arreitunandía||20px|Spain
|-
|43||Hernán Buenahora||20px|Colombia
|-
|44||Francisco Tomás García||20px|Spain
|-
|45||Heberth Gutiérrez||20px|Colombia
|-
|46||Iván Parra||20px|Colombia
|-
|47||David Plaza||20px|Spain
|-
|48||Aitor Pérez Arrieta||20px|Spain
|-
|49||Ricardo Serrano||20px|Spain
|-
| colspan="3" style="text-align:center;"|Sports director:<br>Jon Cengotitabengoa
|}
|
{| cellpadding="0" cellspacing="0" style="margin:auto; width:190px;"
|-
|51||Daniel Atienza||20px|Spain
|-
|52||Íñigo Cuesta||20px|Spain
|-
|53||Bingen Fernández||20px|Spain
|-
|54||Stuart O'Grady||20px|Australia
|-
|55||Luis Pérez||20px|Spain
|-
|56||Arnaud Coyot||20px|France
|-
|57||Guido Trentin||20px|Italy
|-
|58||Cédric Vasseur||20px|France
|-
|59||Matthew White||20px|Australia
|-
| colspan="3" style="text-align:center;"|Sports directors:<br>Francis van Londersele and Benard Quillen
|}
|-
! style="text-align:center; width:190px; background:#efefef;"|Euskaltel–Euskadi<br>20px|Spain EUS
! style="text-align:center; width:190px; background:#efefef;"|<br>20px|Italy FAS
! style="text-align:center; width:190px; background:#efefef;"|Illes Balears–Banesto<br>20px|Spain IBB
|- valign=top
|
{| cellpadding="0" cellspacing="0" style="margin:auto; width:190px;"
|-
|61||Haimar Zubeldia||20px|Spain
|-
|62||Joseba Albizu||20px|Spain
|-
|63||Mikel Artetxe||20px|Spain
|-
|64||Iñaki Isasi||20px|Spain
|-
|65||Roberto Laiseka||20px|Spain
|-
|66||Alberto López de Munain||20px|Spain
|-
|67||Samuel Sánchez||20px|Spain
|-
|68||Aitor Silloniz||20px|Spain
|-
|69||Josu Silloniz||20px|Spain
|-
| colspan="3" style="text-align:center;"|Sports directors:<br>Julián Gorospe and Miguel Madariaga
|}
|
{| cellpadding="0" cellspacing="0" style="margin:auto; width:190px;"
|-
|71||Aitor González||20px|Spain
|-
|72||Alessandro Petacchi||20px|Italy
|-
|73||Dario Cioni||20px|Italy
|-
|74||Guido Trenti||20px|United States
|-
|75||Julián Sánchez Pimienta||20px|Spain
|-
|76||Fabio Sacchi||20px|Italy
|-
|77||Volodymyr Hustov||20px|Ukraine
|-
|78||Alberto Ongarato||20px|Italy
|-
|79||Marco Velo||20px|Italy
|-
| colspan="3" style="text-align:center;"|Sports directors:<br>Alessandro Giannelli and Alberto Volpi
|}
|
{| cellpadding="0" cellspacing="0" style="margin:auto; width:190px;"
|-
|81||Francisco Mancebo||20px|Spain
|-
|82||Denis Menchov||20px|Russia
|-
|83||José Luis Arrieta||20px|Spain
|-
|84||Antonio Colóm||20px|Spain
|-
|85||José Vicente García Acosta||20px|Spain
|-
|86||Joan Horrach||20px|Spain
|-
|87||Pablo Lastras||20px|Spain
|-
|88||Unai Osa||20px|Spain
|-
|89||Mikel Pradera||20px|Spain
|-
| colspan="3" style="text-align:center;"|Sports directors:<br>Eusebio Unzué and José Luis Jaimerena
|}
|-
! style="text-align:center; width:190px; background:#efefef;"|Lampre<br>20px|Italy LAM
! style="text-align:center; width:190px; background:#efefef;"|<br>20px|Italy ALM
! style="text-align:center; width:190px; background:#efefef;"|Phonak Hearing System<br>20px|Switzerland PHO
|- valign=top
|
{| cellpadding="0" cellspacing="0" style="margin:auto; width:190px;"
|-
|91||Francesco Casagrande (*)||20px|Italy
|-
|92||Igor Astarloa||20px|Spain
|-
|93||Simone Bertoletti||20px|Italy
|-
|94||Alessandro Cortinovis||20px|Italy
|-
|95||Juan Manuel Gárate||20px|Spain
|-
|96||Mariano Piccoli||20px|Italy
|-
|97||Manuel Quinziato||20px|Italy
|-
|98||Michele Scotto||20px|Italy
|-
|99||Daniele Righi||20px|Italy
|-
| colspan="3" style="text-align:center;"|Sports directors:<br>Fabrizio Bontempi and Mauricio Piovani
|}
|
{| cellpadding="0" cellspacing="0" style="margin:auto; width:190px;"
|-
|101||Ion del Río||20px|Spain
|-
|102||David Fernández||20px|Spain
|-
|103||Carlos R. Golbano (*)||20px|Spain
|-
|104||Jorge Ferrío||20px|Spain
|-
|105||José Ángel Gómez Marchante||20px|Spain
|-
|106||Francisco José Lara||20px|Spain
|-
|107||David Herrero||20px|Spain
|-
|108||Joaquín López||20px|Spain
|-
|109||Carlos Torrent||20px|Spain
|-
| colspan="3" style="text-align:center;"|Sports directors:<br>Miguel Moreno and Juan Martínez Oliver
|}
|
{| cellpadding="0" cellspacing="0" style="margin:auto; width:190px;"
|-
|111||Óscar Sevilla||20px|Spain
|-
|112||Tyler Hamilton||20px|United States
|-
|113||Gonzalo Bayarri||20px|Spain
|-
|114||Santos González||20px|Spain
|-
|115||Bert Grabsch||20px|Germany
|-
|116||José Enrique Gutiérrez||20px|Spain
|-
|117||Nicolas Jalabert||20px|France
|-
|118||Santiago Pérez||20px|Spain
|-
|119||Tadej Valjavec||20px|Slovenia
|-
| colspan="3" style="text-align:center;"|Sports directors:<br>Álvaro Pino and Jacques Michaud
|}
|-
! style="text-align:center; width:190px; background:#efefef;"|Quick Step–Davitamon<br>20px|Belgium QSD
! style="text-align:center; width:190px; background:#efefef;"|Rabobank<br>20px|Netherlands RAB
! style="text-align:center; width:190px; background:#efefef;"|Colchón Relax–Bodysol<br>20px|Spain REB
|- valign=top
|
{| cellpadding="0" cellspacing="0" style="margin:auto; width:190px;"
|-
|121||José A. Pecharromán||20px|Spain
|-
|122||László Bodrogi||20px|Hungary
|-
|123||José Garrido||20px|Spain
|-
|124||Pedro Horrillo||20px|Spain
|-
|125||Kevin Hulsmans||20px|Belgium
|-
|126||Luca Paolini||20px|Italy
|-
|127||Patrik Sinkewitz||20px|Germany
|-
|128||Bram Tankink||20px|Netherlands
|-
|129||Jurgen Van Goolen||20px|Belgium
|-
| colspan="3" style="text-align:center;"|Sports directors:<br>Wilfried Peeters and Serge Parsani
|}
|
{| cellpadding="0" cellspacing="0" style="margin:auto; width:190px;"
|-
|131||Óscar Freire||20px|Spain
|-
|132||Jan Boven||20px|Netherlands
|-
|133||Kevin De Weert||20px|Belgium
|-
|134||Maarten den Bakker||20px|Netherlands
|-
|135||Robert Hunter||20px|South Africa
|-
|136||Ronald Mutsaars||20px|Netherlands
|-
|137||Joost Posthuma||20px|Netherlands
|-
|138||Pieter Weening||20px|Netherlands
|-
|139||Thorwald Veneberg||20px|Netherlands
|-
| colspan="3" style="text-align:center;"|Sports directors:<br>Erik Breukink and Frans Maassen
|}
|
{| cellpadding="0" cellspacing="0" style="margin:auto; width:190px;"
|-
|141||José Alberto Martínez||20px|Spain
|-
|142||José Miguel Elías||20px|Spain
|-
|143||Xavier Florencio||20px|Spain
|-
|144||Josep Jufré||20px|Spain
|-
|145||Nácor Burgos||20px|Spain
|-
|146||Luis Pasamontes||20px|Spain
|-
|147||José Luis Rebollo||20px|Spain
|-
|148||Bert Roesems||20px|Belgium
|-
|149||Johan van Summeren||20px|Belgium
|-
| colspan="3" style="text-align:center;"|Sports directors:<br>José María Pérez and Jesús Suárez Cueva
|}
|-
! style="text-align:center; width:190px; background:#efefef;"|<br>20px|Italy SAE
! style="text-align:center; width:190px; background:#efefef;"|Saunier Duval–Prodir<br>20px|Spain SDV
! style="text-align:center; width:190px; background:#efefef;"|Team CSC<br>20px|Denmark CSC
|- valign=top
|
{| cellpadding="0" cellspacing="0" style="margin:auto; width:190px;"
|-
|151||Damiano Cunego||20px|Italy
|-
|152||Danilo Di Luca||20px|Italy
|-
|153||Paolo Fornaciari||20px|Italy
|-
|154||Juan Fuentes||20px|Spain
|-
|155||Marius Sabaliauskas||20px|Lithuania
|-
|156||Giosuè Bonomi||20px|Italy
|-
|157||Eddy Mazzoleni||20px|Italy
|-
|158||Alessandro Spezialetti||20px|Italy
|-
|159||Sylwester Szymyd||20px|Poland
|-
| colspan="3" style="text-align:center;"|Sports directors:<br>Giuseppe Martinelli and Guido Bontempi
|}
|
{| cellpadding="0" cellspacing="0" style="margin:auto; width:190px;"
|-
|161||Joseba Beloki||20px|Spain
|-
|162||David Cañada||20px|Spain
|-
|163||Rafael Casero||20px|Spain
|-
|164||Juan Carlos Domínguez||20px|Spain
|-
|165||Fabian Jeker||20px|Switzerland
|-
|166||M.A. Martín Perdiguero||20px|Spain
|-
|167||Leonardo Piepoli||20px|Italy
|-
|168||Joaquim Rodríguez||20px|Spain
|-
|169||Constantino Zaballa||20px|Spain
|-
| colspan="3" style="text-align:center;"|Sports directors:<br>Vittorio Algeri and Matteo Algeri
|}
|
{| cellpadding="0" cellspacing="0" style="margin:auto; width:190px;"
|-
|171||Carlos Sastre||20px|Spain
|-
|172||Thomas Bruun Eriksen||20px|Denmark
|-
|173||Manuel Calvente||20px|Spain
|-
|174||Vladimir Gusev||20px|Russia
|-
|175||Jörg Jaksche||20px|Germany
|-
|176||Peter Luttenberger||20px|Austria
|-
|177||Frank Høj||20px|Denmark
|-
|178||Fränk Schleck||20px|Luxembourg
|-
|179||Brian Vandborg||20px|Denmark
|-
| colspan="3" style="text-align:center;"|Sports directors:<br>Johnny Weltz and Sean Yates
|}
|-
! style="text-align:center; width:190px; background:#efefef;"|T-Mobile Team<br>20px|Belgium TMO
! style="text-align:center; width:190px; background:#efefef;"|US Postal Service–Berry Floor<br>20px|United States USP
! style="text-align:center; width:190px; background:#efefef;"|Vini Caldirola–<br>Nobili Rubinetterie<br>20px|Italy VIN
|- valign=top
|
{| cellpadding="0" cellspacing="0" style="margin:auto; width:190px;"
|-
|181||Alexander Vinokourov||20px|Kazakhstan
|-
|182||Santiago Botero||20px|Colombia
|-
|183||Cadel Evans||20px|Australia
|-
|184||Torsten Hiekmann||20px|Germany
|-
|185||Andreas Klier||20px|Germany
|-
|186||Tomáš Konečný||20px|Czech Republic
|-
|187||Stephan Schreck||20px|Germany
|-
|188||Steffen Wesemann||20px|Germany
|-
|189||Erik Zabel||20px|Germany
|-
| colspan="3" style="text-align:center;"|Sports directors:<br>Mario Kummer and Giovanni Fidanza
|}
|
{| cellpadding="0" cellspacing="0" style="margin:auto; width:190px;"
|-
|191||Michael Barry||20px|Canada
|-
|192||Manuel Beltrán||20px|Spain
|-
|193||Benoît Joachim||20px|Luxembourg
|-
|194||Floyd Landis||20px|United States
|-
|195||Guennadi Mikhailov||20px|Russia
|-
|196||Víctor Hugo Peña||20px|Colombia
|-
|197||Antonio Cruz||20px|United States
|-
|198||Max van Heeswijk||20px|Netherlands
|-
|199||David Zabriskie||20px|United States
|-
| colspan="3" style="text-align:center;"|Sports directors:<br>Johan Bruyneel and Dirk Demol
|}
|
{| cellpadding="0" cellspacing="0" style="margin:auto; width:190px;"
|-
|201||Stefano Garzelli||20px|Italy
|-
|202||Dario Andriotto||20px|Italy
|-
|203||Patrick Calcagni||20px|Switzerland
|-
|204||Mauro Gerosa||20px|Italy
|-
|205||Marco Milesi||20px|Italy
|-
|206||Roberto Sgambelluri||20px|Italy
|-
|207||Marco Zanotti||20px|Italy
|-
|208||Pavel Tonkov||20px|Russia
|-
|209||Steve Zampieri||20px|Switzerland
|-
| colspan="3" style="text-align:center;"|Sports directors:<br>Paolo Dotti and Valerio Tebaldi
|}
|}
(*) Declared not fit to start before the Tour. <!-- The Spanish was "no apto", I've translated that as "not fit", but if you know an official English-language term, go for it. -- Jmabel | Talk 00:17, Oct 16, 2004 (UTC) -->
