Hotels in Midlothian
15 handpicked places to stay
Photo © Stephen litt, Google Maps
Midlothian sits close enough to Edinburgh for day trips into the city, yet its own towns give good reason to stay put. Roslin draws visitors keen to base themselves near Rosslyn Chapel, with options such as The Original Rosslyn Hotel and Greenlees Lodge, while Dalkeith and Bonnyrigg offer more straightforward stopovers, including the Premier Inn Edinburgh A7 Dalkeith for those wanting predictable comfort.
For something with more character, Dalhousie Castle Hotel & Spa near Lasswade makes a striking alternative, and smaller guesthouses like Aaron Glen Guest House, Glenarch House and Peggyslea Farm B&B suit travellers who prefer a quieter, personal welcome. Further south towards Penicuik and Pathhead, inns such as The Melville Inn and The Juniperlea Inn work well for those exploring the Pentland Hills or breaking a longer journey.
Choosing where to stay largely depends on whether you want easy access to Edinburgh or a base for the countryside around Penicuik and Roslin, with The Craigie Hotel offering a further option for those covering the wider county.
Glenarch House
B&B · Melville Road, Dalkeith
En-suite B&B rooms with garden views on Melville Road, Dalkeith, minutes from Edinburgh Zoo and Musselburgh.
Premier Inn Edinburgh A7 Dalkeith
Hotel · Melville Dykes Road, Dalkeith
A small Premier Inn near Dalkeith with an on-site restaurant and bar, free parking, and easy access to the A7 and A720 for Edinburgh trips.
The Melville Inn by Innkeepers Collection
Hotel · The Melville Inn, Dalkeith
The Melville Inn by Innkeepers Collection is a Dalkeith hotel handy for Edinburgh Zoo and Musselburgh, with free on-site parking.
The Sun Inn
Hotel · Lothianbridge, Dalkeith
A small five-room inn at Lothianbridge, Dalkeith, suited to travellers who want a simple base with parking and a pub-and-restaurant setup on site.
Aaron Glen Guest House
Guest Accommodation · 7 Nivensknowe Road, Loanhead
A straightforward guest house on Nivensknowe Road in Loanhead, Midlothian, handy for Edinburgh Zoo and offering free parking on site.
Chapel Cross Guest House
Guest Accommodation · 2 Penicuik Road, Roslin
Guest house in Roslin, Midlothian, close to Edinburgh Zoo and within reach of Slateford, with pool, spa and gym on site.
The Original Rosslyn Hotel
Hotel · 2-4 Main Street, Roslin
A straightforward 18-room hotel in Roslin, Midlothian, suited to travellers who want an easy base near Edinburgh with free parking and a bar on site.
Dalhousie Castle Hotel & Spa
Hotel · B704, Bonnyrigg
Historic castle hotel on the B704 near Bonnyrigg, Midlothian, set in its own grounds with a spa, indoor pool and 35 rooms.
Greenlees Lodge
Guest Accommodation · Green Lane, Lasswade
Adults-only guest accommodation in Lasswade, Midlothian, with a garden, sauna and gym, plus pubs and restaurants close by.
Laird And Dog Inn
Hotel · 5 High Street, Lasswade
Traditional inn in Lasswade, Midlothian, handy for Edinburgh Zoo and Musselburgh, with a restaurant, bar and free parking on site.
Melville Castle
Hotel · Gilmerton Road, Lasswade
A 32-room castle hotel near Lasswade in Midlothian, suited to weddings, countryside breaks and travellers wanting easy reach of Edinburgh.
Peggyslea Farm B&B
B&B · Nine Mile Burn, Penicuik
Peggyslea Farm B&B in Nine Mile Burn near Penicuik puts golf, walking country and Edinburgh within easy reach, with free parking on site.
The Craigie Hotel
Hotel · 50 Bog Road, Penicuik
A straightforward base in Penicuik for drivers and families, with free parking, en-suite family rooms and a bar-restaurant on site.
The Juniperlea Inn
Hotel · Blackshiels, Pathhead
A countryside inn at Blackshiels near Pathhead, Midlothian, with free parking, mountain views and a garden setting for exploring the area.
The Stair Arms Hotel
Hotel · The Stair Arms Hotel, Pathhead
A small 11-room hotel in Pathhead, Midlothian, with en-suite rooms, a bar and restaurant, free parking and a garden to relax in.
Know a hotel / b&b in Midlothian that's missing?
Run one yourself or know a good one? Suggest it and we'll review it for the site. Listings are free.
Add a hotel / b&b