The station was opened on 13 April 1854 by the London Tilbury and Southend Railway (LTSR) on their new line to Tilbury, which split from the Eastern Counties Railway (ECR) at Forest Gate. A shorter route from London between Little Ilford and Gas Factory Junction in Bow, and avoiding the ECR, opened in April 1858. A "Pitsea direct" branch was completed in June 1888 giving more direct access to Southend-on-Sea via Upminster, and avoiding Tilbury. The station was rebuilt in 1889. In 1894 the Tottenham and Hampstead Junction Railway was extended by means of the Tottenham and Forest Gate Railway to join the 1854 line from Forest Gate to Tilbury. District line services initially operated over the tracks of the LTSR from 1902. In 1905 a pair of tracks was electrified as far as East Ham and the service was cut back there. It was extended back to Barking in 1908 and eastwards to Upminster, over a new set of tracks, from 1932. Hammersmith and City line, then known as the Metropolitan line, service began in 1936. The station booking hall was completely rebuilt 1959-61 to designs by architect John Ward of British Railways Eastern Region Architect's Department. Pevsner states it was "erected to coincide with electrification of the railway" and that "it is commensurately modern in outlook and unquestionably one of the best English stations of this date". The station was reopened by the Queen in 1961. It is now a Grade II listed building. In November 1923, a locomotive crashed through buffers at Barking and overturned, overhanging the road below.
The station has four sets of stairs from the platforms to the overbridge and the booking hall. Four ramps connected by a subway give step free access between all the platforms. The stairs/ramps access platforms: 1 & 1a, 2, 3 & 4, 5 & 6, and 7 & 8. There is a lift between the booking hall and platforms 1 & 1a . This station has two bay platforms (nos. 1 and 3). Platform one can only be used by overground trains as it is a bay platform and there is no fourth rail or overhead. Platform 3 is used usually by Hammersmith and City line trains but during engineering work it is used by the District line. The ticket office is managed by c2c and has seven serving windows. TRIBUTE and FasTIS ticket machines are in use. Tickets are available for National Rail, as well as London Underground. Oyster Cards can also be issued at the ticket office. There are four Shere Fastticket and four Scheidt and Bachman FAA-2000/TS ticket machines, which can issue tickets ordered on line (Tickets on Demand or 'TOD'). The S&B machines (but not the Shere) sell Oyster products. Seven ticket barriers and a gate control access to all platforms. There are sidings to the east which are built to accommodate D stock, C stock and S stock. Usually quite a few C stock and S stock trains are stabled there overnight. These form some of the first Hammersmith and City line services in the morning. These trains call at platform 6 instead of platform 3. Two D stock trains are also stabled there overnight and these form the first District line services starting at Barking. To the west of the station there is a major junction which aligns the trains so that the London overground is on the left. c2c services are on the right and access to and from the bay platform for the Hammersmith and City line to join the District line. Trains to/from Gospel Oak mostly use platform 1, though some trains run to/from platform 7. This is so that drivers can maintain route knowledge. The station is in Travelcard Zone 3 and has wi-fi, help points, boarding ramps, cash machines, lifts, payphones, photo booths, on-platform refreshments and toilets.
Connections: National Rail. District Line. Hammersmith + City Line. It is (since 20 February 2010) served by routes EL1 and EL2 (phase one of the East London Transit). Other London buses that serve the station include 5, 62, 169, 238 (terminates here), 287 (terminates here), 366, 368, 387, night bus route N15 and school bus route 687 (terminates here). There are buses providing connections to Canning Town, Stratford, Beckton, Romford, Ilford, Redbridge, Barkingside, Chadwell Heath, Goodmayes, Rainham and Dagenham.