Barcelona obsługiwana jest przez różne stacje kolejowe, z których każda obsługuje różne cele regionalne i krajowe. Główną stacją jest Barcelona Sants, położona w dzielnicy Sants-Montjuïc. To największa stacja w mieście i główny węzeł dla pociągów dużych prędkości, w tym usług AVE łączących z Madrytem i innymi dużymi miastami. Dodatkowo obsługuje pociągi regionalne i jest dobrze skomunikowana z resztą sieci transportowej miasta.
Inną znaczącą stacją jest Passeig de Gràcia, zlokalizowana w dzielnicy Eixample. Ta stacja jest znana ze swoich połączeń do pociągów regionalnych i służy jako przesiadkowy punkt dla różnych usług kolejowych, w tym tych kierujących się w stronę Costa Brava i innych obszarów Katalonii.
Barcelona França to historyczna stacja położona w dzielnicy Ciutat Vella. Głównie obsługuje pociągi regionalne i dalekobieżne, koncentrując się na trasach w stronę granicy francuskiej.
Estació de Sants i Passeig de Gràcia są stosunkowo blisko siebie, około 2 kilometry, podczas gdy Barcelona França znajduje się nieco dalej, około 1,5 kilometra od Sants. Inne mniejsze stacje kolejowe to Clot-Aragó, która obsługuje usługi regionalne, oraz Montcada i Reixac-Manresa, serwujące obszary dalej od miasta za pomocą pociągów lokalnych.