The average train between Musselburgh and Dunbar takes 51 min and the fastest train takes 30 min. There is a train service every few hours from Musselburgh to Dunbar. 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 Dunbar. 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 Dunbar at 11:37 PM. All services require a transfer, and take on average 51 min. The schedules shown below are for the next available departures.

46 min • 1 change

47 min • 1 change

35 min • 1 change

43 min • 1 change

55 min • 1 change

46 min • 1 change

47 min • 1 change

46 min • 1 change

55 min • 1 change

46 min • 1 change

47 min • 1 change

46 min • 1 change

55 min • 1 change

46 min • 1 change

47 min • 1 change

46 min • 1 change
Want to know about travelling from Musselburgh to Dunbar? 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 Dunbar. However, there are services departing from Musselburgh station and arriving at Dunbar station via Edinburgh Waverley. The journey, including transfers, takes approximately 51 min.
Musselburgh to Dunbar train services, operated by ScotRail, depart from Musselburgh station.
Musselburgh to Dunbar train services, operated by ScotRail, arrive at Dunbar station.
Book your Musselburgh to Dunbar train tickets online with ScotRail, TransPennine Express and 2 other operators.
The distance between Musselburgh and Dunbar is 33.9 km. The road distance is 54 km.
You can take a train from Musselburgh to Dunbar via Edinburgh Waverley in around 1h.