Starting at the city centre stations of Manchester Piccadilly and Manchester Victoria, it runs in a north-westerly direction through the suburbs and centres of the city of Salford and Wigan. It then proceeds in the same direction through the small rural villages of West Lancashire, before ending on the Irish Sea coast at the resort town of Southport
- Southport - terminus, interchange for Northern Line services to south Sefton and Liverpool
- Meols Cop - suburban stop for eastern Southport
- Bescar Lane - village (cottage-style) stop for North Meols
- New Lane - village stop, also for Martin Mere
- Burscough Bridge - town stop, pedestrian interchange to Burscough Junction on Preston to Ormskirk branch line.
- Hoscar - village stop for Hoscar and Lathom
- Parbold - for village of Parbold
- Appley Bridge - suburban stop for Appley Bridge and western Wigan. Western boundary for GMPTE ticketing zone
- Gathurst - single-platform stop for outskirts of Wigan
- Wigan Wallgate - main stop for town of Wigan, interchange for services to Kirby, Bolton and Rochdale. Pedestrian interchange to Wigan North Western for services to Birmingham, Glasgow and London.
- Ince - suburban stop for eastern Wigan
- Hindley - suburban stop for eastern Wigan
- Daisy Hill - suburban stop
- Hag Fold - suburban stop
- Atherton - stop for town of Atherton
- Walkden - stop for Walkden and Worsley
- Moorside - suburban stop
- Swinton - stop for town of Swinton
- Salford Crescent - main stop for city of Salford, interchange for services to Bolton and Preston line and Ribble Valley Line services to Blackburn
- Salford Central - main stop for city of Salford and the University of Salford, and for some districts of western Manchester
- Manchester Victoria - main stop for city of Manchester, and interchange for trans-pennine services and services to south Lancashire and Merseyside. Metrolink tram interchange to Manchester Piccadilly railway station for mainline intercity services.