The train journey from Barcelona-El Prat Airport to Madrid takes 2h 47m on average and covers a distance of 314 miles.
Renfe is the only train operator serving this route.