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