Oorspronkelijk had de lijn het nummer 91[1] en werd de spoorlijnnummer 28 gebruikt voor de spoorverbinding Leuven - Aarschot in het verlengde van spoorlijn 29, Aarschot - Herentals - Tilburg.[2]
Oorspronkelijk waren er de tussenstations Kuregem, West (ook goederenstation), Koekelberg, Pannenhuis en Laken.[3] Koekelberg werd in de twintigste eeuw opgeheven maar opnieuw in 1983 herbouwd en geopend onder de naam Simonis. De halte Laken werd vervangen door de halte Bockstael. De lijn werd in 1984 gesloten voor reizigersverkeer. Een aantal van de gesloten stations bleven wel bediend door de Brusselse metro (lijnen 1A/1B), die deels parallel loopt aan spoorlijn 28.
In december 2009 werd de spoorlijn terug in gebruik genomen voor reizigersvervoer in het kader van het Gewestelijk ExpresNet, het nieuwe voorstadsnet rond Brussel; Er rijdt een trein per uur en alleen van en naar Dendermonde (treindienst S10). Eerst werden enkel de stations Brussel-West en Simonis heropend. Op 13 december 2015 werd ook Station Thurn en Taxis, de vroegere halte Pannenhuis, heropend.
28/1 : Y Bockstael (lijn 50) - Y Pannenhuis (lijn 28)
28/2 : Y Kuregem (lijn 28) - Brussel-Klein-Eiland (lijn 50A)
28/3 : Y Kuregem (lijn 28) - Y Vorst-Oost (lijn 124)
Verbindingsspoor Infrabel - MIVB
Op deze spoorlijn ligt tussen de stations Simonis en Weststation, ter hoogte van metrostation Beekkant een verbindingsspoor tussen het Infrabel-net, het MIVB-tramnet en het MIVB-metronet. Het tramnet is, vanop het Infrabel-net in zuidelijke richting rechtstreeks te bereiken, het metronet enkel met een Z-beweging. Van de 3 dergelijke verbindingen (ook 2 op spoorlijn 26) wordt deze het minste gebruikt.
Cyclostrade C223
Anno 2024 wil het Brussels Gewest net naast/op bijna de volledige lengte van de de spoorwegberm cyclostrade (fietssnelweg) C223 (in het noorden CR1) aanleggen.