Barcelone est desservie par diverses gares, chacune répondant à différentes destinations régionales et nationales. La gare principale est Barcelone Sants, située dans le quartier de Sants-Montjuïc. C'est la plus grande gare de la ville et le principal hub pour les trains à grande vitesse, y compris les services AVE reliant Madrid et d'autres grandes villes. De plus, elle gère les trains régionaux et est bien reliée au reste du réseau de transport de la ville.
Une autre gare importante est le Passeig de Gràcia, situé dans le quartier de l'Eixample. Cette gare est connue pour ses connexions aux trains régionaux et sert de point d'échange pour différents services ferroviaires, y compris ceux en direction de la Costa Brava et d'autres zones de Catalogne.
Barcelone França est une gare historique située dans le quartier de Ciutad Vella. Elle dessert principalement des trains régionaux et de longue distance, axés sur les trajets vers la frontière française.
L'Estació de Sants et le Passeig de Gràcia sont relativement proches l'un de l'autre, à environ 2 kilomètres, tandis que Barcelone França est légèrement plus éloignée, à environ 1,5 kilomètre de Sants. D'autres petites gares comprennent Clot-Aragó, qui opère des services régionaux, et Montcada i Reixac-Manresa, desservant des zones plus éloignées de la ville avec des trains locaux.