BusGenie
N31
Lothian Buses

N31 bus timetable: Bonnyrigg to Edinburgh Haymarket

Bonnyrigg ↔ Edinburgh Haymarket

Mode Bus

Bonnyrigg → Edinburgh Haymarket

1 trip · first 01:03 · last 01:03
Mon–Fri Live Valid 2026-06-03 – 2027-06-02

Swipe sideways to see later trips.

Stop
01:03 Edinburgh Haymarket
01:09
Lasswade, Elm Row south-west bound
01:10
01:14
Mayfield, Suffolk Road south-east bound
01:21
Mayfield Gardens north-west bound
01:22
Mayfield, Minto Street north-west bound
01:23
Newington Road north-west bound
01:24
01:27

Edinburgh Haymarket → Bonnyrigg

1 trip · first 00:20 · last 00:20
Mon–Fri Live Valid 2026-06-03 – 2027-06-02

Swipe sideways to see later trips.

Stop
00:20 Edinburgh Haymarket
00:32
Newington Road south-east bound
00:36
Mayfield, Minto Street south-east bound
00:37
Mayfield Gardens south-east bound
00:38
Mayfield, Suffolk Road north-west bound
00:40
00:44
Lasswade, Elm Row north-east bound
00:54
00:56

Timetable data from Lothian Buses, refreshed 2026-06-12 · Source: Traveline National Dataset (TNDS) · Service code LOTH_N31.

All stops shown

44 stops
  1. Haymarket, West Maitland Street Stop HC
  2. Edinburgh West End, Shandwick Place Stop SA
  3. Edinburgh, Princes Street (west) Stop PC
  4. Edinburgh, Princes Street (Scott Mon.) Stop PJ
  5. Old Town, South Bridge S-bound 2
  6. South Side, Surgeons' Hall just after
  7. South Side, St Patrick Square after
  8. South Side, Bernard Terrace after
  9. Newington Road south-east bound
  10. Mayfield, Salisbury Place opposite
  11. Mayfield, Minto Street south-east bound
  12. Mayfield Gardens south-east bound
  13. Mayfield, East Savile Road before
  14. Mayfield, Suffolk Road north-west bound
  15. Nether Liberton, Lady Road after
  16. Liberton, Gordon Terrace opposite
  17. Liberton, Mossgiel Walk at
  18. Liberton, Kirk Park opposite
  19. Liberton, Kirkgate after
  20. Liberton, Yewlands Gardens at
  21. Liberton, Malbet Park before
  22. Gracemount, Liberton Hospital at
  23. Gracemount, Ellen's Glen Road before
  24. Gracemount High School opposite
  25. Gracemount, Gilmerton Dykes Street before
  26. Gilmerton, The Murrays opposite
  27. Gilmerton Dykes Road at
  28. Gilmerton, West Edge Farm opposite
  29. Lasswade, Wester Melville opposite
  30. Wadingburn, Lasswade Road eastbound
  31. Lasswade, Laird and Dog opposite
  32. Lasswade, Elm Row north-east bound
  33. Broomieknowe Gardens at
  34. Bonnyrigg, Rockville Terrace opposite
  35. Bonnyrigg, Park Road opposite
  36. Bonnyrigg Toll at
  37. Bonnyrigg, Waverley Terrace at
  38. Bonnyrigg, Wolsey Avenue near
  39. Bonnyrigg, Bairds Way at
  40. Cockpen, Brixwold Bank at
  41. Bonnyrigg, Burnbrae Road opposite
  42. Bonnyrigg, Sawmill Terrace opposite
  43. Bonnyrigg, Burnbrae Walk at
  44. Bonnyrigg, Burnbrae Avenue near