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