Armadale and Thornlie railway lines

The Armadale railway line is a suburban railway line in Western Australia that runs from Perth to Armadale, and continues as the South Western Railway to Bunbury. The line crosses the Swan River at East Perth via the Goongoongup Bridge, and formerly had crossed it via the Bunbury Bridge. The Thornlie railway line is a spur line branching off the Armadale line between Beckenham and Kenwick stations that opened on 7 August 2005.

History
The Armadale line opened on 2 May 1889. An 1891 contract tender described the route of the new line from East Perth to Pinjarra:

The original stations in 1889 were Perth, Welshpool, Kelmscott and Armadale. Cannington, although operational in 1889, was opened in 1893.

The following stations were opened:
 * Victoria Park in 1898, moved 230 metres south in 2008
 * Woodlupine in 1899 (renamed Queens Park in 1912)
 * Goodwood in 1906 (renamed Belmont Park in 1979, closed October 2013)
 * Burswood, in 1906 (named Rivervale 1923–1994)
 * Mint Street in 1912 (renamed Carlisle in 1919)
 * Seaforth on 4 May 1948
 * Higham in 1954 (renamed Beckenham in 1969)
 * Oats Street in 1954
 * Stokely in 1954, closed 15 April 1989.
 * Tredale, opened in 1956 as Armadale School siding, renamed Tredale in 1959, closed in 1989.
 * Lathlain on 2 May 1959 (closed February 2003)
 * Challis on 29 October 1973
 * Kingsley on 29 October 1973 (renamed Sherwood 1993)

In September 1991 the line commenced electrified operation.

Between 2004 and 2005, Armadale, Carlisle and Gosnells were upgraded to provide better facilities to passengers and provide better access between trains and buses. Lathlain station was closed on 3 February 2003 as part of the project.

Thornlie was opened on 7 August 2005. The station is built on a spur line of the Armadale Line.

Between 21 March 1993 and 8 August 2005, trains on the Armadale line continued through Perth to the Joondalup line. In 2004 new railcars were introduced, which became exclusive to the Joondalup line. From 2005 until 2012, Armadale Line trains did not run through Perth to the other lines but on 20 August 2012, as part of works relating to the Perth City Link project to sink the Fremantle line, services from Fremantle connected to the line until the tunnel was opened on 18 July 2013 which saw the Armadale Line terminate in Perth again.

Victoria Park and Kelmscott Stations were upgraded between 2007 and 2008 as part of the Public Transport Authority's 'Building Better Stations' program. Victoria Park station was opened on 20 July 2008. and Kelmscott was opened on 21 November 2008.

As part of the new Perth Stadium project, Belmont Park station closed on 13 October 2013. Perth Stadium station was opened in 2018 to replace it.

Extensions
As part of the Metronet project, both the Armadale main line and the Thornlie spur line will undergo extensions. The Armadale line will be extended to the suburb of Byford with a station being built approximately 8 km south of the Armadale railway station.

The Thornlie spur line will be extended to Cockburn Central railway station on the Mandurah railway line. Two new railway stations will be located on this extension, Nicholson Road and Ranford Road. Construction, and.

Patronage
Below is the annual patronage of Armadale and Thornlie railway lines from 2010–2011 financial year. Figures are provided as total boardings, which includes all fare-paying boardings and free travel on stations within the free transit zones as well as transfers between stations. The figures for rail replacement and special events services are not included in the total.

Railway stations
During peak hour times on weekdays, some railway stations are almost always bypassed to enable faster commutes. Express trains also run along the Armadale line on weekdays, and even often on weekends.

Disused stopping patterns

 * D – all stops to Armadale, except Beckenham, Seaforth, Challis, and Sherwood. (bypasses Thornlie. Replaced by pattern E, 8 August 2005).
 * E – all stops to Claisebrook, express to Cannington, express to Kenwick, then all stops to Armadale except Seaforth, Challis, and Sherwood. (deprecated 20 August 2006)
 * R – pattern deviations to All and T patterns to stop at Belmont Park (deprecated 13 October 2013).