140 Tesco Terminus ↔ Town Centre
Operated by East Coast Buses. First bus 04:57, last bus 23:12. 41 journeys on weekdays.
Timetable
Times are shown at the route's main timing stops — buses serve all stops in between. For times at your exact stop, open the stop's own page.
| Tesco Terminus (at) | · | · | · | · | · | 07:41 | 08:48 | 09:51 | 10:51 | 11:51 | 12:53 | 13:53 | 14:58 | 16:00 | 16:51 | 17:51 | 19:00 | 20:05 | 21:10 | 22:10 | 23:10 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| High Street (Stop B) | 04:57 | 05:27 | 05:54 | 06:19 | 06:49 | 07:44 | 08:51 | 09:54 | 10:54 | 11:54 | 12:57 | 13:57 | 15:02 | 16:05 | 16:56 | 17:55 | 19:03 | 20:08 | 21:13 | 22:12 | 23:12 |
| Whitecraig Avenue (at) | 05:04 | 05:34 | 06:01 | 06:27 | 06:57 | 07:53 | 09:00 | 10:02 | 11:02 | 12:03 | 13:06 | 14:06 | 15:11 | 16:14 | 17:05 | 18:04 | 19:11 | 20:16 | 21:20 | 22:19 | 23:19 |
| Jarnac Court (at) | 05:14 | 05:44 | 06:11 | 06:37 | 07:07 | 08:06 | 09:12 | 10:14 | 11:14 | 12:15 | 13:18 | 14:18 | 15:24 | 16:27 | 17:18 | 18:17 | 19:22 | 20:26 | 21:30 | 22:29 | 23:29 |
| High Street (at) | 05:23 | 05:53 | 06:20 | 06:46 | 07:17 | 08:18 | 09:23 | 10:25 | 11:25 | 12:27 | 13:30 | 14:30 | 15:38 | 16:42 | 17:32 | 18:29 | 19:32 | 20:35 | 21:39 | 22:37 | 23:37 |
| Laird and Dog (at) | 05:27 | 05:57 | 06:24 | 06:50 | 07:21 | 08:22 | 09:27 | 10:29 | 11:29 | 12:31 | 13:34 | 14:34 | 15:43 | 16:47 | 17:36 | 18:33 | 19:36 | 20:39 | 21:43 | 22:40 | 23:40 |
| Muirfield Gardens (at) | 05:32 | 06:02 | 06:29 | 06:55 | 07:26 | 08:28 | 09:33 | 10:35 | 11:35 | 12:37 | 13:40 | 14:40 | 15:49 | 16:54 | 17:42 | 18:38 | 19:41 | 20:44 | 21:48 | 22:45 | 23:45 |
| Roslin Road (at) | 05:37 | 06:07 | 06:34 | 07:00 | 07:31 | 08:35 | 09:39 | 10:41 | 11:41 | 12:43 | 13:46 | 14:46 | 15:56 | 17:01 | 17:49 | 18:43 | 19:46 | 20:49 | 21:53 | 22:50 | 23:50 |
| Original Rosslyn Hotel (at) | 05:40 | 06:10 | 06:37 | 07:03 | 07:35 | 08:39 | 09:43 | 10:45 | 11:45 | 12:47 | 13:50 | 14:50 | 16:00 | 17:05 | 17:53 | 18:47 | 19:50 | 20:52 | 21:56 | 22:53 | 23:53 |
| Woodend Park (at) | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · |
| Town Centre (Stop A) | 05:50 | 06:20 | 06:47 | 07:13 | 07:47 | 08:52 | 09:55 | 10:57 | 11:57 | 12:59 | 14:02 | 15:02 | 16:15 | 17:19 | 18:06 | 18:59 | 20:02 | 21:03 | 22:06 | 23:03 | 00:03 |
Route map
All stops on route 140
140 towards Town Centre
- Tesco Terminus (at) Musselburgh
- High Street (Stop B) Musselburgh
- Newbigging (S-bound) Musselburgh
- Rothesay Place (adj) Musselburgh
- Inveresk Village (opp) Musselburgh
- Inveresk Kennels (opp) Inveresk
- Carberry Road (southbound) Whitecraig
- Whitecraig Avenue (at) Whitecraig
- Whitecraig Crescent (near) Whitecraig
- Smeaton Road End (adj) Whitecraig
- Thornybank (W-bound) Dalkeith
- Thornyhall (at) Thornybank
- Shadepark (at 36) Dalkeith
- Corn Exchange (at) Dalkeith
- Dalkeith Parish Church (opp) Dalkeith
- Jarnac Court (at) Dalkeith
- Kings Park (at) Dalkeith
- Glenesk Crescent (opp) Dalkeith
- Eskbank Toll (at) Dalkeith
- Station Road (near) Eskbank
- Westfield Park (at) Eskbank
- Muirpark (at) Eskbank
- Mayshade Garden Centre (opp) Bonnyrigg
- Pendreich Avenue (opp) Bonnyrigg
- Waverley Crescent (at) Bonnyrigg
- Maryfield Place (near) 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
- Kevock Road (at) Wadingburn
- Hunter Avenue (opp) Loanhead
- Academy Lane (opp) Loanhead
- Muirfield Gardens (at) Loanhead
- George Avenue (opp) Loanhead
- McNeil Avenue (opp) Loanhead
- Park Avenue (at) Loanhead
- Herd Terrace (at) Loanhead
- Dryden Road (at) Loanhead
- Nivensknowe Road (W-bound) Loanhead
- Seafield Road (opp) Bilston
- Roslin Road (at) Bilston
- Bilston Cottages (at) Bilston
- Langhill Farm (at) Roslin
- Roslin Institute (at) Roslin
- Springfield Place (at) Roslin
- Station Road Roslin
- Original Rosslyn Hotel (at) Roslin
- Penicuik Road (opp 40) Roslin
- Gowkley Moss (E-bound) Roslin
- Woodend Park (opp) Roslin
- Roslin Surgery (Opp) Roslin
- Gowkley Moss (W-bound) Roslin
- Roslin Surgery (At) Roslin
- Woodend Park (at) Roslin
- Milton Cottages (opp) Milton Bridge
- Golf Club (at) Milton Bridge
- Glencorse Barracks (at) Glencorse
- Samoa Terrace (opp) Mauricewood
- Beeslack High School (near) Mauricewood
- Mauricewood Road (opp) Mauricewood
- Queensway (opp) Penicuik
- Cuiken Avenue (opp) Penicuik
- Angle Park (opp) Penicuik
- Wilson Street (opp) Penicuik
- Town Centre (Stop A) Penicuik
140 towards Tesco Terminus
- Town Centre (Stop A) Penicuik
- Town Centre (Stop C) Penicuik
- Wilson Street (at) Penicuik
- John Street Lane (at) Penicuik
- Angle Park (at) Penicuik
- Cuiken Avenue (at) Penicuik
- Queensway (near) Penicuik
- Mauricewood Road (at) Mauricewood
- Beeslack High School (opp) Mauricewood
- Samoa Terrace (near) Mauricewood
- Glencorse Barracks (opp) Glencorse
- Golf Club (opp) Milton Bridge
- Milton Cottages (at) Milton Bridge
- Gowkley Moss (E-bound) Roslin
- Roslin Surgery (At) Roslin
- Woodend Park (at) Roslin
- Penicuik Road (at 32) Roslin
- Original Rosslyn Hotel (opp) Roslin
- Station Road (opp) Roslin
- Springfield Place (opp) Roslin
- Roslin Institute (opp) Roslin
- Langhill Farm (opp) Roslin
- Bilston Cottages (opp) Bilston
- Roslin Road (opp) Bilston
- Seafield Road (at) Bilston
- Nivensknowe Road (E-bound) Loanhead
- Dryden Road (opp) Loanhead
- Herd Terrace (opp) Loanhead
- McNeil Avenue (at) Loanhead
- George Avenue (at) Loanhead
- Station Road Loanhead
- Muirfield Gardens (opp) Loanhead
- Academy Lane (at) Loanhead
- Hunter Avenue (at) Loanhead
- Kevock Road (opp) Wadingburn
- 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
- Douglas Crescent (at) Bonnyrigg
- Maryfield Place (opp) Bonnyrigg
- Waverley Crescent (opp) Bonnyrigg
- Pendreich Avenue (at) Bonnyrigg
- Mayshade Garden Centre (at) Bonnyrigg
- Muirpark (opp) Eskbank
- Westfield Park (opp) Eskbank
- Bonnyrigg Road (at 20) Eskbank
- Glenesk Crescent (at) Dalkeith
- Croft Street (opp) Dalkeith
- Dalkeith Parish Church (at) Dalkeith
- Corn Exchange (opp) Dalkeith
- Shadepark (opp) Dalkeith
- Thornybank (E-bound) Dalkeith
- Thornyhall (opp) Thornybank
- Smeaton Road End (opp) Whitecraig
- Cowpits Road Whitecraig
- Whitecraig Avenue (opp) Whitecraig
- Whitecraig Crescent (opp) Whitecraig
- Carberry Road (northbound) Whitecraig
- Inveresk Kennels (o/s) Inveresk
- Inveresk Village (at) Musselburgh
- Newbigging (N-bound) Musselburgh
- Rothesay Place (opp) Musselburgh
- High Street (Stop D) Musselburgh
- Tesco Terminus (at) Musselburgh
Service history & registered changes
- 🆕 Registered effective 22 Feb 2026 Operating between Penicuik Town Centre and Tesco, Musselburgh given service number 140 effective from 22 February 2026. To amend Timetable.
From official Traffic Commissioner registrations. All service changes →
Towns & areas on this route
Frequently asked questions
What time is the first 140 bus?
The first 140 departure on weekdays leaves at 04:57 (check the full timetable below for your stop, as times vary along the route — weekend times can differ).
What time is the last 140 bus?
The last 140 on weekdays leaves its first stop at 23:12. Always check the timetable for your specific stop — later stops are reached after this time.
How much does the 140 bus cost?
The England fare cap doesn't apply in Scotland — East Coast Buses sets the fares on the 140. Under-22s, over-60s and eligible disabled passengers travel free with a National Entitlement Card.
Who runs the 140 bus?
The 140 is operated by East Coast Buses.
Timetable data from the operator via the DfT Bus Open Data Service. Check before you travel — services can change at short notice.