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