Enschede heeft een rijke spoorweggeschiedenis. De behoefte aan aansluiting aan het spoorwegnet, zowel het Nederlandse als dat in Duitsland, is in de loop der jaren vooral door de fabrikanten benadrukt. Zij hadden voor de aandrijving van de stoommachines in de textielfabrieken niet meer genoeg aan de turf uit het Aamsveen, maar haalden grote hoeveelheden steenkolen uit de Duitse mijnen in Ibbenbüren. In eerste aanleg werden de kolen vervoerd per paard-en-wagen, een reis van 14 uur. In 1861 ging het daarbij om 7.5 miljoen kilo. Een spoorwegaansluiting met Rheine, sinds 1856 het dichtstbijzijnde station in Duitsland zou het aanvoerprobleem oplossen.
Hoewel door de gemeente Enschede en de fabrikanten in hetzelfde jaar al drie ton bij elkaar was gebracht en de regering al een concessie had verleend ging de aanleg van een verbinding niet door als gevolg van onenigheid aan Duitse kant: de regering van het koninkrijk Pruissen wenste dat de lijn volledig over haar grondgebied zou lopen en niet deels over dat van het koninkrijk Hannover.
In 1858 verleende de regering een concessie voor een lijn van Zutphen via Goor, Hengelo en Enschede naar de Pruisische grens. De lijn kwam in 1866 gereed, overigens nog na de aansluitende verbinding met Almelo.
Het station in Enschede lag aan de Parkweg, tegenover het huidige hotel Rodenbach.
De lijn naar Glanerbrug is in 1868 gerealiseerd, de verbinding met Gronau en Münster in 1875. In Glanerbrug lag – aan de toenmalige Stationsstraat , de latere Spoorbaanstraat – de halte Glanerbeek, vanaf 1910 als Glanerbrug aangeduid. De eerste treinen uit Duitsland bestonden, bij gebrek aan voldoende personenrijtuigen, uit kolenwagens met zitbanken.
Binnen de gemeente Enschede is de lijn voor wat betreft het gedeelte Hengelo-Enschede vanaf de opening altijd in gebruik geweest; het gedeelte Enschede-Glanerbrug is in 1981 gesloten voor reizigers- en goederenvervoer. Om militaire redenen is de rails nooit opgebroken en reed er regelmatig een veeg-trein. Sinds 2001 is de lijn weer in bedrijf met een verbinding met Münster , zowel als met Dortmund.
In de loop van de jaren zijn aan deze lijn twee nieuwe stations in gebruik genomen: Drienerlo, ten dienste van het Business- en Sciencepark, het stadion en de UT, en Enschede-Esmarke dat anno 2010 evenwel landelijk te boek staat als het station met de minste passagiers per dag (40). Het station is vooral bedoeld voor de wijk Esmarkerveld, die echter nog in jaren niet wordt gebouwd.
In 1947 bleek het van belang, voor de aanvoer van grondstoffen, de afvoer van gereed product en voor het vervoer van werknemers een spoorverbinding met Losser te realiseren. De lijn werd aangetakt op de lijn naar Glanerbrug. De verbinding heeft gefunctioneerd van 1949-1973, op het laatst alleen nog voor goederenvervoer. De rails is opgenomen.
Een verbinding tussen Enschede en Winterswijk was onderdeel van het net van de GOLS, de Gelders-Overijsselse Lokaal Spoorwegen. Voor de zgn. ‘lokaalspoorwegen’ was een maximumsnelheid van niet meer dan 30 km/u. toegestaan. De lijn- gereed gekomen in 1885 – was met name ook van belang voor de aanvoer van kolen uit het Ruhrgebiet, maar er vond ook reizigersvervoer plaats. De lijn vertakte zich vanuit het zuiden na Boekelo in een verbinding met Enschede en een verbinding met Hengelo. Tussen de stations Haaksbergen en Boekelo lag nog de halte Zoutindustrie (ook ten dienste van het golfslagbad ‘de zee op de heide’), tussen Boekelo en Enschede de stopplaats Usselo (1886-1932). In Enschede voerde het spoor door de Beckumer tunnel (later Bouwhuistunneltje) naar station Noord (geopend 1890, ter plaatse van het ITC-gebouw aan de Hengelosestraat). De spoorlijn was in bedrijf tot 1937 (reizigersvervoer) maar ook in de oorlog voor de Arbeitseinzatz; en 1972 (goederenvervoer). De lijn was met name van groot belang voor de stoomblekerij in Boekelo.
Van deze spoorlijn resteert nog het traject Haaksbergen-Boekelo, dat sinds 1972 als museumspoorlijn wordt bereden door de MBS. De halte Zoutindustrie wordt nog altijd aangedaan.
Het succes van de oorspronkelijke lijn leidde al in 1887 tot een verlenging ervan naar Oldenzaal, vanwaar een verbinding bestond met Bad Bentheim. Vooral op feest- en marktdagen moesten extra treinen worden ingelegd. De lijn, met een station in Lonneker, kende een reeks van fabrieksaansluitingen. Ook was er van 1928 – 1934 nog een stopplaats Roomweg (bij het huidige Prismare).
De volledige lijn droeg de bijnaam ‘schaddenspoor’, alsof de lijn bedoeld zou zijn voor het vervoer van heideplaggen.
De exploitatie van de spoorlijn Enschede-Lonneker is voor wat betreft het reizigersvervoer beëindigd in 1934, voor goederenvervoer tot de Oude Deventerweg in 1972 (steenfabriek Smulders). Het deel tussen Smulders en de kalkzandsteenfabriek is voor de oorlog al verwijderd. De kalkzandsteenfabriek bleef aangesloten via Oldenzaal.
Een derde verbinding met Enschede ontstond in 1903 met de opening van de lijn Ahaus –Enschede, ook vooral bedoeld voor het vervoer van kolen voor de Enschedese fabrieken. In de gemeente Enschede lagen twee stations: Enschede-zuid (op de Zuiderval ter hoogte van de Zuiderspoorstraat, voor reizigersvervoer gesloten op 1 april 1945)) en Broekheurne (aan de Arendsweg bij de grens , idem 1939). De lijn is voor goederenvervoer (o.m. de aanvoer van kolen naar de gasfabriek) opnieuw in bedrif geweest van 1948 tot 1967. De losplaats Enschede-Zuid is pas in 1972 gesloten.
Het stadsvervoer in Enschede dateert uit 1908 toen een elektrische tram ging rijden tussen het station en de grens in Glanerbrug. Plannen uit de jaren tien om het tramnet in stad en regio uit te breiden zijn nooit tot uitvoering gekomen, wegens de opkomst van (private) autobusdiensten vanaf 1923. In dat jaar werd een dienst naar de wijk Pathmos geopend.
Op den duur worden vrijwel alle buslijnen in stad en streek geëxploiteerd door de Twentse Electrische Tramwegmaatschappij, een semi-overheidsbedrijf. De tramdienst zelf wordt beëindigd in 1933.
Het streekvervoer verbindt Enschede successievelijk met plaatsen als Hengelo/Almelo, Losser/Overdinkel, Oldenzaal/Denekamp, en – na 1937 – ook naar Haaksbergen/Doetinchem en –Winterswijk.