N31 Bonnyrigg to Haymarket via Gilmerton, Edinburgh
Operated by Lothian Buses. Registered as running via Princes Street Scott Monument. First bus 00:20, last bus 01:03. 2 journeys on weekdays. Fares: set by the operator — more.
Night bus — overnight departures 00:20–04:08. Every night. Nights are the night you set out on, so a 01:30 bus on Saturday morning counts as Friday. All night buses.
Wanted a different N31? 2 other bus routes are numbered N31 elsewhere in the UK — see every N31 bus timetable by area.
| Stop | 01:03 |
|---|---|
| Burnbrae Avenue (near) | 01:03 |
| High Street (at) | 01:08 |
| Gilmerton Dykes Street (after) | 01:15 |
| Lady Road (opp) | 01:20 |
| South Bridge (N-Bound 2) | 01:27 |
| Princes Street (Waverley Steps) (Stop PP) | 01:29 |
| Princes Street (Scott Mon.) (Stop PS) | 01:31 |
| West Maitland Street (Stop HC) | · |
Each column is one journey, headed by the time it sets off; one that finishes short of the usual end says where ("to …") — not every journey on this route runs the whole way. A · means that journey does not stop there. Times are shown at the route's main timing stops — buses serve all stops in between. Switch a table to All stops for every stop it calls at, or open a stop's own page for live departures there.
Route map
All stops on route N31
N31 towards Haymarket
All 46 stops
- Burnbrae Avenue (near) Bonnyrigg
- Dalhousie Chesters (opp) Poltonhall
- Cockpen Place (opp) Poltonhall
- Skeltiemuir Avenue (opp) Poltonhall
- Hopefield Place (at) Bonnyrigg
- Hazel Drive (opp) Bonnyrigg
- Dobbies Road (at) Bonnyrigg
- High Street (at) Bonnyrigg
- Park Road (at) Bonnyrigg
- Rockville Terrace (at) Bonnyrigg
- Broomieknowe Gardens (opp) Broomieknowe
- Elm Row (SW-bound) Lasswade
- Laird and Dog (at) Lasswade
- Lasswade Road (W-bound) Wadingburn
- Haveral Wood (at) Lasswade
- Gilmerton Station Road (NW-bound) Gilmerton
- West Edge Farm (at) Gilmerton
- Gilmerton Dykes Road (opp) Gilmerton
- The Murrays (adj) Gilmerton
- Gilmerton Dykes Street (after) Gracemount
- Gracemount High School (at) Gracemount
- Ellen's Glen Road (opp) Gracemount
- Liberton Hospital (opp) Gracemount
- Malbet Park (opp) Liberton
- Yewlands Gardens (after) Liberton
- Kirk Park (near) Liberton
- Mossgiel Walk (opp) Liberton
- Gordon Terrace (near) Liberton
- Mid Liberton (opp) Nether Liberton
- Lady Road (opp) Nether Liberton
- Suffolk Road (SE-bound) Mayfield
- East Savile Road (after) Mayfield
- Mayfield Gardens (NW-bound) Mayfield
- Minto Street (NW-bound) Mayfield
- Salisbury Place (before) Mayfield
- Newington Road (NW-bound) Newington
- Bernard Terrace (opp) South Side
- St Patrick Square South Side
- Surgeons' Hall (opp) South Side
- South Bridge (N-Bound 2) Old Town
- Princes Street (Waverley Steps) (Stop PP) Edinburgh
- Princes Street (Scott Mon.) (Stop PS) Edinburgh
- Princes Street (west) (Stop PY) Edinburgh
- Shandwick Place (Stop SE) Edinburgh West End
- Atholl Crescent (Stop SG) Haymarket
- West Maitland Street (Stop HC) Haymarket
N31 towards Bonnyrigg
All 45 stops
- West Maitland Street (Stop HC) Haymarket
- Shandwick Place (Stop SA) Edinburgh West End
- Princes Street (west) (Stop PC) Edinburgh
- Princes Street (Scott Mon.) (Stop PJ) Edinburgh
- South Bridge (S-bound 2) Old Town
- Surgeons' Hall (just after) South Side
- St Patrick Square (after) South Side
- Bernard Terrace (after) South Side
- Newington Road (SE-bound) Newington
- Salisbury Place (opp) Mayfield
- Minto Street (SE-bound) Mayfield
- Mayfield Gardens (SE-bound) Mayfield
- East Savile Road (before) Mayfield
- Suffolk Road (NW-bound) Mayfield
- Lady Road (after) Nether Liberton
- Gordon Terrace (opp) Liberton
- Mossgiel Walk (at) Liberton
- Kirk Park (opp) Liberton
- Kirkgate (after) Liberton
- Yewlands Gardens (at) Liberton
- Malbet Park (before) Liberton
- Liberton Hospital (at) Gracemount
- Ellen's Glen Road (before) Gracemount
- Gracemount High School (opp) Gracemount
- Gilmerton Dykes Street (before) Gracemount
- The Murrays (opp) Gilmerton
- Gilmerton Dykes Road (at) Gilmerton
- West Edge Farm (opp) Gilmerton
- Gilmerton Sataion Road (SE-bound) Gilmerton
- Wester Melville (opp) Lasswade
- Lasswade Road (E-bound) Wadingburn
- Laird and Dog (opp) Lasswade
- Elm Row (NE-bound) Lasswade
- Broomieknowe Gardens (at) Broomieknowe
- Rockville Terrace (opp) Bonnyrigg
- Park Road (opp) Bonnyrigg
- Bonnyrigg Toll (at) Bonnyrigg
- Waverley Terrace (at) Bonnyrigg
- Wolsey Avenue (near) Bonnyrigg
- Bairds Way (at) Bonnyrigg
- Brixwold Bank (at) Cockpen
- Burnbrae Road (opp) Bonnyrigg
- Sawmill Terrace (opp) Bonnyrigg
- Burnbrae Walk (at) Bonnyrigg
- Burnbrae Avenue (near) Bonnyrigg
Service registration & registered changes
- Service change effective 14 September 2026 To amend Timetable.
- Service change effective 8 September 2025 To amend Timetable.
- Service change effective 11 September 2023 To amend Timetable.
- Service change effective 5 June 2022 To amend Timetable.
- Service change effective 14 November 2021 To amend Timetable.
From official Traffic Commissioner registrations. Registration PM0000002/141 · Changes in Midlothian Council · All service changes →
Towns & areas on this route
Frequently asked questions
What time is the first N31 bus?
The first N31 departure on weekdays leaves at 00:20 (check the full timetable below for your stop, as times vary along the route — weekend times can differ).
What time is the last N31 bus?
The last N31 on weekdays leaves its first stop at 01:03. Always check the timetable for your specific stop — later stops are reached after this time.
How much does the N31 bus cost?
The England fare cap doesn't apply in Scotland — Lothian Buses sets the fares on the N31. Under-22s, over-60s and eligible disabled passengers travel free with a National Entitlement Card.
Who runs the N31 bus?
The N31 is operated by Lothian Buses.
Timetable data from Lothian Buses via the DfT Bus Open Data Service (Scotland feed). Registered with the Traffic Commissioner as PM0000002/141. Check before you travel — services can change at short notice.