The average train between Musselburgh and Bathgate takes 50 min and the fastest train takes 38 min. There is an hourly train service from Musselburgh to Bathgate. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Trains run hourly between Musselburgh and Bathgate. The earliest departure is at 6:28 AM in the morning, and the last departure from Musselburgh is at 10:49 PM which arrives into Bathgate at 11:34 PM. All services require a transfer, and take on average 50 min. The schedules shown below are for the next available departures.

51 min • 1 change

49 min • 1 change

49 min • 1 change

45 min • 1 change

1h 9m • 1 change

44 min • 1 change

51 min • 1 change

40 min • 1 change

1h 9m • 1 change

44 min • 1 change

51 min • 1 change

40 min • 1 change
Want to know about travelling from Musselburgh to Bathgate? We have put together a list of the most frequently asked questions from our users such as: What is the cheapest mode of transport? What is the quickest option? How much do tickets usually cost? and many more.
No, there is no direct train from Musselburgh to Bathgate. However, there are services departing from Musselburgh station and arriving at Bathgate station via Edinburgh Waverley. The journey, including transfers, takes approximately 50 min.
Musselburgh to Bathgate train services, operated by ScotRail, depart from Musselburgh station.
Musselburgh to Bathgate train services, operated by ScotRail, arrive at Bathgate station.
Book your Musselburgh to Bathgate train tickets online with ScotRail.
The distance between Musselburgh and Bathgate is 37.3 km. The road distance is 38 km.
You can take a train from Musselburgh to Bathgate via Edinburgh Waverley in around 50 min.