Porto jest głównym węzłem kolejowym północnej Portugalii i ważnym przystankiem na krajowej północno-południowej osi kolejowej. Miasto ma dwa centralne dworce pasażerskie o różnych funkcjach: Porto Campanha obsługuje połączenia dalekobieżne i regionalne, natomiast Porto Sao Bento obsługuje przyjazdy do centrum miasta i regionalne. Comboios de Portugal, zwykle znane jako CP, obsługuje główne pasażerskie połączenia kolejowe w Porto.
Pociągi z Porto obejmują połączenia Alfa Pendular na głównym dalekobieżnym korytarzu Portugalii, pociągi Intercidades łączące duże miasta, usługi Regional i InterRegional w północnej Portugalii oraz kolej podmiejską CP Urbanos do Porto. Porto Campanha jest głównym dworcem dla odjazdów dalekobieżnych, natomiast Sao Bento jest przydatny dla centrum Porto i krótkich podróży kolejowych w obrębie obszaru metropolitalnego.
Trasy z Porto prowadzą na południe w kierunku Lizbony, Coimbry, Aveiro i Algarve z przesiadkami, na północ w kierunku Bragi i Viana do Castelo, na wschód w kierunku Doliny Douro oraz w głąb lądu w kierunku Guimaraes i Marco de Canaveses. Pociągi do Porto najczęściej przyjeżdżają najpierw na Porto Campanha, a następnie kontynuują jazdę do Sao Bento lub innych lokalnych stacji. Zarezerwuj pociągi z i do Porto online w Rail Monsters.