London to Stonehenge is one of England's great day trips. The route via Salisbury is the most direct, the most comfortable, and — with the Salisbury to Stonehenge Shuttle — leaves almost nothing to chance. Here's the complete guide.
Train: London to Salisbury
South Western Railway operates direct trains from London Waterloo to Salisbury. The journey takes approximately 80–90 minutes. The earliest useful departure from Waterloo is the 08:00–09:00 window — arriving in Salisbury at 09:30–10:05. Trains run approximately every 30 minutes throughout the day.
Book tickets in advance via nationalrail.co.uk or the SWR app. Advance single tickets can be substantially cheaper than walk-up Anytime fares. A return from London Waterloo to Salisbury typically costs £35–£60 depending on purchase timing.
Salisbury to Stonehenge
From Salisbury station, cross the road to Caboose and board the Salisbury to Stonehenge Shuttle. First departure 10:05 daily. The 35-minute shuttle costs £20 return per person and includes your return pick-up from Stonehenge, luggage storage and a coffee.
At Stonehenge
Book your English Heritage timed entry ticket at english-heritage.org.uk before your trip. Choose a slot starting at 10:30 or 11:00 to match the 10:05 shuttle arrival time. Allow 2–3 hours for the full Stonehenge experience.
Return to London
Take your pre-booked shuttle return to Salisbury. Last shuttle service returns from Stonehenge at 17:40 (summer) — arriving back in Salisbury by 18:15. Trains from Salisbury to Waterloo run until late evening, giving you a very comfortable window for dinner in Salisbury or a relaxed return journey.
Total Day Trip Cost (Approximate, per person)
Train return: £35–£60 | Shuttle: £20 | Stonehenge entry: £30 | Total: approximately £85–£110 per adult. For a group, the per-person cost reduces and the experience is exceptional value for a UNESCO World Heritage Site.
Ready to visit Stonehenge from Salisbury? The shuttle departs directly opposite Salisbury Train Station. Just £20 return per person, all in.
Check availability →