# Pyhrnbahn

Linz–Selzthal :
| IC 600 „Bosruck“ bei Windischgarsten.IC 600 „Bosruck“ bei Windischgarsten. ||
| Strecke der Pyhrnbahn ||
| Streckennummer (ÖBB): | 204 01 |
| Kursbuchstrecke (ÖBB): | 140 |
| Streckenlänge: | 104,2 km |
| Spurweite: | 1435 mm (Normalspur) |
| Netzkategorie: | A |
| Stromsystem: | 15 kV 16,7 Hz ~ |
| Maximale Neigung: | 26 ‰ |
| Minimaler Radius: | 228 m |
| Streckengeschwindigkeit: | 140 km/h |
| Zweigleisigkeit: | Linz–Nettingsdorf, Wartberg an der Krems–Schlierbach |
| Legende Westbahn von Wien 0,000 Linz Hauptbahnhof 267 m ü. A. Westbahn 3,250 Linz Oed (seit 2. Juni 1985) 281 m ü. A. 4,932 Linz Wegscheid 269 m ü. A. Westbahn nach Salzburg Anschlussbahn Fuchshuber Anschlussbahn Schachinger Logistik 6,663 St. Martin bei Traun 271 m ü. A. 8,146 Traun 272 m ü. A. Rutzing Betriebsausweiche Verbindungsstrecke Traun – Marchtrenk 9,163 9,210 Fehlerprofil (−47 m) 9,200 Traun (119 m) 10,298 Ansfelden Ladestelle (Awanst) 274 m ü. A. 10,472 Anschlussbahn Huber Verpackungen (Awanst) 12,423 Nettingsdorf 282 m ü. A. 12,732 Krems (33 m) 12,885 12,896 Fehlerprofil (−11 m) 15,570 Nöstlbach-St. Marien 292 m ü. A. Linning (01.05.1909 aufgelassen) 18,878 Neuhofen an der Krems 302 m ü. A. 19,914 19,929 Fehlerprofil (−15 m) Piberbach (01.05.1909 aufgelassen) 22,652 Kematen-Piberbach (bis 2018: Kematen an der Krems) 308 m ü. A. 23,151 23,146 Fehlerprofil (+5 m) 25,797 Neukematen (02.07.1996 aufgelassen) ehem. Lokalbahn nach Bad Hall (per Ende 1989 eingestellt) 27,927 Rohr-Bad Hall 332 m ü. A. ehem. Lokalbahn nach Sattledt (28. März 1965 eingestellt) 28,559 28,638 Fehlerprofil (−79 m) Oberrohr (01.09.1909 aufgelassen) 32,108 32,115 Fehlerprofil (−7 m) 32,424 Kremsmünster 346 m ü. A. 33,332 33,336 Fehlerprofil (−4 m) 34,242 Anschlussbahn Eurofoam (Awanst) 36,300 Krift Betriebsausweiche 38,170 Ried-Diepersdorf (28.05.1995 aufgelassen) 40,321 Wartberg an der Krems 374 m ü. A. Beginn Trassenverlegung 41,000 40,971 Fehlerprofil (+29 m) 42,071 Nußbach 388 m ü. A. 43,002 Nußbach (bis 2008) 43,224 Üst Wartberg a.d. Krems 1 45,040 Sautern (20.12.1927 aufgelassen) 46,125 Schlierbach 396 m ü. A. 46,566 Schlierbach (bis 2008) 409 m ü. A. 47,215 Abzw Wartberg a. d. Krems 3 48,812 Galgenau (01.08.1984 aufgelassen) 49,519 Blumau (01.05.1909 aufgelassen) 49,052 49,705 Fehlerprofil (–653 m) Ende Trassenverlegung 50,538 Kirchdorf an der Krems 432 m ü. A. 53,362 Micheldorf 449 m ü. A. 53,370 53,381 Fehlerprofil (−11 m) 54,703 Anschlussbahn MABA Fertigteile 54,9 Obermicheldorf 56,504 56,510 Fehlerprofil (−6 m) 56,308 Anschluss Steinbruch Kirchdorfer Zementwerk (Awanst) 57,588 57,635 Fehlerprofil (−47 m) 58,2 Schön (10.12.2005 aufgelassen) 58,894 Hungerbichltunnel (522,46 m) ehem. Steyrtalbahn 60,459 Klaus 478 m ü. A. 60,851 Pießlingbachbrücke (47 m) 60,890 Posttunnel (248,08 m) 61,487 Schlosstunnel (106,40 m) 62,546 Fiedlerbrunntunnel (225,66 m) 62,962 Fiedlerbrunnviadukt (48 m) 63,843 Anschlussbahn Kalkwerk Voestalpine (Awanst) 63,847 Steyrling-Brücke (102 m) 64,182 Steyrling (PV bis 14. Dezember 2024) 65,621 Steyrflussbrücke (214 m) 67,175 Erste Teichlflußbrücke (116 m) 67,758 Hinterstoder 504 m ü. A. 68,633 Krenngrabenbrücke (70 m) 70.2 St. Pankraz 71,041 Schalchgrabenviadukt (95 m) 71,988 Palmgrabenviadukt (88 m) 73,862 Zweite Teichlflußbrücke (169 m) 75,566 Pießling-Vorderstoder seit 2001 kein Personenverkehr 79,580 Roßleithen 594 m ü. A. 81,724 Windischgarsten 616 m ü. A. 82,528 Schacherbauertunnel (453,88 m) 87,422 Spital am Pyhrn 661 m ü. A. Beginn Trassenverlegung 88,488 Trattenbachviadukt (107 m) Trattenbachbrücke 88,827 88,841 Fehlerprofil (–14 m) Ende Trassenverlegung 89,121 Kleiner Bosrucktunnel (18,20 m) 2012 abgetragen 91,020 Linzerhaus 91,845 Linzerhaus (02.07.1996 aufgelassen) 91,859 91,872 Fehlerprofil (−13 m) 91,938 Bosrucktunnel (4766,58 m) Landesgrenze Oberösterreich / Steiermark 96,704 98,001 Ardning 676 m ü. A. 101,121 Enns (62 m) Rudolfsbahn von Kleinreifling 102,511 Selzthal-Nord 102,902 137,671 138,966 Selzthal 639 m ü. A. Rudolfsbahn nach St. Michael Ennstalbahn nach Bischofshofen 2-gleisige Strecke ||
Die Pyhrnbahn ist die Bahnstrecke Linz – Rohr-Bad Hall – Selzthal, sie durchquert größere Teile der Bundesländer Oberösterreich und Steiermark und wird von den Österreichischen Bundesbahnen zu deren Kernnetz gezählt. Der Abschnitt Linz – Klaus wurde zunächst als Lokalbahn von der privaten Kremsthalbahn-Gesellschaft gebaut. Von 1901 bis 1906 baute der Staat unter Einbeziehung dieser Lokalbahn die Pyhrnbahn. Gemeinsam mit der Tauernbahn, der Karawanken- und Wocheinerbahn sowie der Strecke Görz – Triest und der Wechselbahn gehörte sie zum letzten Lückenschluss im österreichischen Hauptbahnnetz.

## Die k.k. priv. Kremsthalbahn-Gesellschaft
### Linz – Kremsmünster

Seit den 1870er Jahren gab es Planungen für Eisenbahnlinien ins Kremstal zur Erschließung von Sensenindustrie und Holzwirtschaft. Sowohl von Linz als auch von Wels (und auch von Steyr) wurden Strecken geplant. Beispielsweise 1872 konstituierte sich unter der Obmannschaft von Camillo Heinrich Fürst Starhemberg ein Konsortium, das bereits eine Vorkonzession für eine Eisenbahn Linz-Kirchdorf erhalten hatte. Letztlich setzten sich die Befürworter der Linzer Strecke durch und gründeten im Jahre 1880 die Kremsthalbahn-Gesellschaft.
Gemäß Concessionsurkunde vom 30. Juni 1880, für die Locomotiveisenbahn von Linz nach Kremsmünster (Kremsthalbahn) wurde am 30. April 1881 die Strecke Linz – Kremsmünster eröffnet.
Die Strecke (wie auch die spätere Fortsetzung nach Klaus) wurde als Lokalbahn gebaut. Die Trasse schlängelt sich stellenweise in engen Bögen der Berglehne entlang, um der hochwassergefährdeten Talsohle auszuweichen.
Anders als heute führte die Kremstalbahn von Linz zunächst entlang der Westbahngleise Richtung Wien, um dann nach Süden auf die ehemalige Pferdeeisenbahntrasse (Linz–Gmunden) einzuschwenken. Ungefähr beim Bahnhof Wegscheid wurde die heutige Trasse erreicht. Die Strecke führte dabei direkt bei der Lokomotivfabrik Krauss & Comp. vorbei. Dieser wurde zunächst auch die Betriebsführung übertragen (bis 1892).

### Weiterbau bis Micheldorf und Klaus

In zwei Etappen wurde die Strecke verlängert:
| 1. August 1883 | Kremsmünster – Micheldorf |
| 1. November 1888 | Micheldorf – Klaus |
Außerdem nahm die KTB, auf Basis der Konzessionsurkunde vom 25. Oktober 1886, am 15. Mai 1887 die Flügelstrecke Rohr (zu jener Zeit Unter-Rohr) – Bad Hall in Betrieb. Auf der 4,2 km langen Strecke, mit mittiger Haltestelle Hehenberg, verkehrten bei 14-minütiger Fahrtdauer fünf Zugpaare täglich.
Vor dem damaligen Streckenende in Klaus weicht die Trassierung ebenfalls von der heutigen ab. Kurz vor Klaus trennt ein Bergausläufer (Hungerbichl) das Kremstal vom Steyrtal. Die alte Trasse umfuhr diesen Ausläufer in einem engen Bogen, die heutige Trasse führt durch den 523 m langen Hungerbichltunnel. Der alte Bahnhof Klaus lag überdies tiefer als der heutige.
Die Kremstalbahn erhielt in den Jahren 1888/1889 noch die Konzessionen für eine Streckenverlängerung nach Spital am Pyhrn, konnte sie aber aus finanziellen Gründen nicht realisieren.

### Anschlussstrecken im Bereich der Kremstalbahn

An die eigene Flügelstrecke Rohr – Bad Hall schloss ab 1891 ein Seitenflügel der Steyrtalbahn an (Pergern – Sierning – Bad Hall). Es war dies der kurzlebigste Teil der Steyrtalbahn, wurde der Betrieb doch schon 1933 stillgelegt und die Strecke zirka 10 Jahre später abgetragen. Seitdem muss man per Bahn die Strecke Wels – Steyr über Linz bewältigen.
Nachdem Wels beim Bau einer Eisenbahnverbindung ins Kremstal zunächst unterlegen war, konnte im Jahr 1893 zumindest eine Anschlussstrecke Wels – Sattledt – Rohr eröffnet werden. Der Abschnitt Wels – Sattledt ist heute noch als Teilstück der Almtalbahn in Betrieb, während der Abschnitt Sattledt – Rohr im Jahre 1965 eingestellt wurde. An ihn erinnert noch das ehemalige Bahnhofsgebäude Kremsmünster Stift (der heutige Bahnhof Kremsmünster hieß deswegen bis in die Neunzigerjahre des 20. Jahrhunderts Kremsmünster Markt). Zudem wurde das Teilstück Rohr – Bad Hall bis 1965 von der Zf. Wels mit durchgehenden Personenzügen Wels – Sattledt – Rohr – Bad Hall bedient. Bis zur Einstellung des Personenverkehrs Rohr – Bad Hall per Ende 1989 war die Zfl. Linz zuständig.

## Pyhrnbahn
### Das Gesetz vom 6. Juni 1901

Per Gesetz (Originaltitel Gesetz vom 6. Juni 1901, betreffend die Herstellung mehrerer Eisenbahnen auf Staatskosten und die Festsetzung eines Bau und Investitionsprogramms der Staatseisenbahnverwaltung für die Zeit bis Ende des Jahres 1905, RGBl 63/1901) wurde der Bau mehrerer Bahnstrecken, unter anderem zur Verbesserung des Nord-Süd-Verkehrs durch die Alpen beschlossen:
* Tauernbahn
* Karawanken- und Wocheinerbahn mit direkter Fortsetzung über Görz nach Triest
* Pyhrnbahn
* Wechselbahn
(Ziffern 3 und 5 betrafen Bahnprojekte in Galizien und Böhmen)
Die Pyhrnbahn bildet die Verlängerung der Kremstalbahn von Klaus nach Selzthal. Der österreichische Staat begann sofort Verhandlungen mit der Kremsthalbahn-Gesellschaft über die Verstaatlichung der Strecke Linz – Klaus. Bereits 1902 wurde die Betriebsführung übernommen.

### 1901–1906: Der Bau der Pyhrnbahn

Das Bauvorhaben gliederte sich in drei Teile:
* Bau des Bosrucktunnels (Baubeginn 1901)
* Bau der übrigen Strecke Klaus – Selzthal (Baubeginn 1903)
* Umbau der Kremstalbahn zur Hauptbahn (Baubeginn 1904)
Beim Umbau der Kremstalbahn gab es, wie weiter oben bereits erwähnt, zwei größere Neutrassierungen: die eine in Linz, wo die Strecke nun Richtung Salzburg aus dem Hauptbahnhof führt, und die andere in Klaus mit dem Bau des Hungerbichl-Tunnels und des neuen Bahnhofs. Ansonsten wurde beim Umbau eher gespart und nur die engsten Kurven wurden gestreckt. In späterer Zeit (bis heute) wurden daher immer wieder einzelne Abschnitte neu trassiert. Ein Teil der alten Kremstalbahn-Trasse bei Klaus wurde ab 1909 bis zu deren Einstellung von der Steyrtalbahn wiederverwendet.
Eröffnungsdaten der Pyhrnbahn :
| 19. November 1905 | Ober Micheldorf – Klaus (neue Trasse) – Spital am Pyhrn |
| 21. August 1906 | Linz – Wegscheid (neue Trasse) und Spital am Pyhrn – Abzweigung bei Selzthal |
| 20. Juli 1907 | Abzweigung bei Selzthal – Selzthal |
Die Strecke mündete 1906 zunächst 2,6 km vor Selzthal direkt in die Gesäusestrecke (Rudolfsbahn). Erst im darauf folgenden Jahr wurde ein eigenes Gleis für die Pyhrnbahn parallel zur Gesäusestrecke gebaut. Bis zur Zeit des Zweiten Weltkrieges fanden dann keine größeren Arbeiten statt.

## 1938–1945: Ausbau durch die Deutsche Reichsbahn

Verglichen mit anderen Strecken waren die Ausbauten durch die Deutsche Reichsbahn eher bescheiden: 1941 wurden neue Bahnhöfe in Wegscheid, Ansfelden und Roßleithen gebaut, sowie der Bahnhof Rohr umgebaut. Wegscheid und Rohr sind heute die beiden größten Bahnhöfe der Pyhrnbahn.

## Nach dem Zweiten Weltkrieg
### 1963–1965: Sanierung des Bosrucktunnels

Der Bosrucktunnel war durch Wassereintritte, Gebirgsdruck und nicht zuletzt durch die Rauchgase der Dampflokomotiven stark in Mitleidenschaft gezogen. Eine Totalsanierung war dringend erforderlich. Da der Tunnel nur eingleisig ist, entschloss man sich zu einer mehrmonatigen Sperre der Bahn zwischen Ardning und Spital am Pyhrn ab dem 29. September 1963.
Neben der eigentlichen Tunnelsanierung elektrifizierte man die Strecke Selzthal – Spital am Pyhrn: einerseits, um die Streckensperre auszunützen, andererseits, um neue Rauchschäden zu vermeiden. Eine Elektrifizierung der Gesamtstrecke war damals aus finanziellen Gründen nicht möglich.
Am 29. Mai 1965 wurde die Strecke wiedereröffnet. Ab diesem Zeitpunkt fuhren Personenzüge durchgehend in Dieseltraktion, während bei Güterzügen in Spital am Pyhrn von Dampflok auf E-Lok bzw. umgekehrt umgespannt werden musste.

### 1977: Elektrifizierung der Reststrecke Linz – Spital am Pyhrn

Nach 26 Monaten Bauzeit konnte am 25. September 1977 der elektrische Betrieb zwischen Linz und Spital am Pyhrn aufgenommen werden. Neben den eigentlichen Elektrifizierungsarbeiten wurden auch Linienverbesserungen und Bahnhofsumbauten durchgeführt.

### 1982: Einsturz der Traunbrücke

Am 31. Jänner 1982 musste bereits um 11:00 Uhr im Bereich der Traunbrücke eine Langsamfahrstelle mit 30 km/h wegen „unruhiger Gleislage“ eingerichtet werden. Gegen Abend begann sich der südliche Pfeiler zu neigen, sodass sich das Haupttragwerk von der Vorflutbrücke löste und seitlich flussaufwärts verschob. Der Lokführer eines auf die Brücke zufahrenden Personenzuges bemerkte Abreissfunken von der zerstörten Oberleitung und konnte den Zug rechtzeitig durch Schnellbremsung zum Stehen bringen (21:37 Uhr). Bis 23:00 Uhr kippte das Tragwerk weiter um, bis es schließlich auf der Uferböschung auflag. Erwähnenswert ist, dass flussaufwärts der Brücke gerade das Kraftwerk Traun-Pucking im Bau war.
In der Folge wurde ein Schienenersatzverkehr zwischen Traun und Nettingsdorf (teilweise auch Linz – Nettingsdorf oder Traun – Rohr) eingerichtet. Güterzüge und der Nachtschnellzug Hamburg – Zagreb bzw. Zagreb – Hamburg wurden über die Ennstalstrecke (St. Valentin–Steyr–Selzthal) umgeleitet. Nach fünf Monaten (die effektive Bauzeit betrug nur zehn Wochen) konnte die neue Traunbrücke am 24. Juni 1982 in Betrieb genommen werden. Die Pfeiler waren bereits für den geplanten zweigleisigen Ausbau vorbereitet.

### Nahverkehrsausbau Linz – Nettingsdorf

1979 schlossen das Land Oberösterreich und die ÖBB ein Übereinkommen über den nahverkehrsgerechten Ausbau des Linzer Hauptbahnhofs und der Strecke Linz – Traun. Der Ausbau umfasste:
* Nahverkehrstunnel im Linzer Hauptbahnhof (kreuzungsfreie Unterführung der Pyhrnbahn unter der Westbahn, damit Nahverkehrszüge der Pyhrnbahn die näher am Aufnahmsgebäude liegenden Bahnsteiggleise erreichen können. Dadurch sollen die Umsteigewege zur Straßenbahn und den Bussen verkürzt werden).
* zweites Gleis Linz – Traun (– Nettingsdorf)
* neue Haltestelle Linz Oed
* Anpassung der übrigen Verkehrsstellen. Der Bahnhof Traun wurde völlig umgebaut.
Eröffnung des zweiten Gleises :
| 20. Juli 1982 | Gaumberg – Linz Wegscheid |
| 30. August 1984 | Linz Wegscheid – Traun |
| 5. Oktober 1984 | Linz Hbf – Gaumberg |
| 25. Mai 1988 | Traun – Nettingsdorf |
Am 2. Juni 1985 wurde schließlich die „Schnellbahn“ Linz–Traun eröffnet.

### 1994: Verbindungsstrecke Traun – Marchtrenk

Diese Strecke war für die direkte Führung von RoLa-Zügen von der Passauer Bahn zur Pyhrnbahn gedacht. Bedingt durch den 1991 ausgebrochenen Jugoslawienkrieg, ging die Nachfrage nach RoLa-Zügen in dieser Relation noch vor der Eröffnung (29. Mai 1994) stark zurück. Die Strecke dient hauptsächlich als Entlastungsstrecke für die Westbahn (sogenanntes „drittes Gleis der Westbahn“). 1995–1999 wurden für einige Jahre Eilzüge Linz–Salzburg über Traun geleitet, hauptsächlich dient die Strecke aber dem Güterverkehr. Während im Fahrplanjahr 2018/2019 einige Regionalexpresszüge nach Passau, Grünau im Almtal, Schärding und Simbach am Inn von Linz ausgehend über die Verbindungsstrecke verkehrten, ist im Fahrplanjahr 2023/2024 nur eine planmäßige Zugleistung vorgesehen.

### Ausbaumaßnahmen ab 1994

Die kostengünstige Trassierung der ehemaligen Kremstalbahn meist am Hangfuß erinnert zum Teil immer noch an die „Lokalbahnvergangenheit“. Ab 1994 wurden wieder einige Linienverbesserungen durchgeführt:
* 1994 wurde eine 1,6 km lange Neubautrasse zwischen Nußbach und Schlierbach in Betrieb genommen und damit Kurven gestreckt.
* 1996/97 folgte die Betriebsausweiche Krift, die eine zusätzliche Kreuzungsmöglichkeit bietet. Außerdem wurden zwei enge Bögen entschärft.
* 2000/2001 wurde eine umfangreiche Linienverbesserung nördlich des Bahnhofs Wartberg an der Krems in Betrieb genommen, die u. a. eine Streckenbegradigung mittels eines Hügeldurchstichs erreichte.
* 2007 wurde die neue Strecke zwischen Kirchdorf/Krems über Schlierbach nach Nußbach (teilweise zweigleisig) sowie die neue Haltestelle Schlierbach westlich der ursprünglichen Lage in Betrieb genommen. 2008 wurde der alte Bahnhof abgerissen, das Aufnahmsgebäude blieb aber bestehen.
* Am 5. September 2009 ging der zweigleisige Abschnitt Nußbach-Wartberg in Betrieb. Somit besteht nun eine durchgehende zweigleisige Strecke von Kaltenbach (beim Bf Kirchdorf/Krems) bis Wartberg an der Krems.
* Als nächster Schritt erfolgte bis 2016 der Ausbau des Streckenabschnitts Spital am Pyhrn – Linzerhaus (Nordportal des Bosrucktunnels). Gebaut wurde eine Ausweiche (min. 760 m) im Bereich der ehemaligen Haltestelle Linzerhaus unmittelbar vor dem Bosrucktunnel. Diese ist betrieblich gesehen dringend notwendig. Die Bahnhöfe Ardning und Spital am Pyhrn liegen derzeit ca. 10 Minuten Fahrzeit auseinander. Das heißt, es können max. 6 Züge pro Stunde diesen Streckenabschnitt befahren. Ein Umbau des Bahnhofs Spital am Pyhrn wurde mit Dezember 2013 abgeschlossen, dabei entstand ein Mittelbahnsteig.

### Zukünftige Ausbaumaßnahmen

Bis Ende 2025 wird der Bahnhof Micheldorf umgebaut. Es werden ein barrierefreier Mittel- als auch ein Randbahnsteig errichtet um die S-Bahn-Linie 4 der S-Bahn Oberösterreich nach Micheldorf zu verlängern.
In den Jahren 2027–2029 soll zwischen den derzeitigen Stationen Ansfelden und Nettingsdorf die Haltestelle Kremsdorf in Nähe des Einkaufszentrums Haid Center errichtet werden. Diese Station soll als Umsteigeknoten zur Straßenbahnlinie 4 dienen. Eine Verlängerung der Straßenbahnlinie 4 vom derzeitigen Endpunkt Schloss Traun zum Haid Center ist in Planung. Voraussetzung für die Straßenbahnverlängerung ist die Fertigstellung des 2. Teil der B139 Umfahrung Haid.
Zwischen 2024 und 2031 soll die Strecke zwischen dem Bahnhof Hinterstoder und der Betriebsstelle Pießling-Vorderstoder zweigleisig und für Geschwindigkeiten bis zu 160 km/h ausgebaut werden. Der Bahnhof Hinterstoder erhält dabei neue Stellwerkstechnik und einen barrierefreien Mittelbahnsteig.
Von 2028 bis 2035 ist der zweigleisige Ausbau der Strecke Nettingsdorf-Rohr geplant.
Langfristig ist ein weiterer Ausbau der Pyhrnbahn in folgenden Abschnitten geplant, um die Fahrzeit 15 Minuten reduzieren zu können und eine Kantenfahrzeit von 75 Minuten für die Strecke Linz–Selzthal zu erreichen:
* zweigleisiger Ausbau Kirchdorf – Micheldorf Süd
* Neubau des Bosrucktunnels in geänderter Lage mit niedrigerer Gradiente durch Entfall der Ardninger Rampe

## Streckenverlauf

Ausgangsbahnhof ist Linz Hauptbahnhof, von dem aus parallel zur Westbahn zunächst Südausläufer des Mühlviertels (Froschberg) umfahren und dann, auf Höhe der Gaumbergstraße in nahezu rechtem Winkel streng südwärts abbiegend, die am Bindermichl westlich auslaufende Hochterrassenzunge ins Trauntal hinein durchschnitten wird.
Der ursprüngliche Trassenverlauf im heutigen Linzer Stadtgebiet folgte dabei wiederum etwa vom St. Barbara-Friedhof bis zum heutigen Bahnhof Linz Wegscheid dem (bereits aufgelassenen) Verlauf der Pferdeeisenbahn Budweis–Linz–Gmunden.
Südwärts wird dann nach Linz Wegscheid die Traun überbrückt und weiter südwärts meist der östlichen Talhangfuss des Kremstales bis zur kaum merklichen Wasserscheide zum Steyrtal hin bei Schön (Micheldorf) über Kremsmünster sowie Kirchdorf an der Krems genutzt. Im Hungerbichltunnel wird der gleichnamige Bergsporn durchbohrt, um den heutigen Bahnhof Klaus an der Pyhrnbahn zu erreichen, der etwas höher als der ehemalige Endpunkt der Kremstalbahn liegt. Von hier ab wird hauptsächlich die westliche (linke) Talflanke über dem Talboden noch tiefer eingeschnittenen Steyr genutzt, dabei die aus dem Toten Gebirge herabfließende Steyrling beim gleichnamigen Bahnhof überbrückt und anschließend kurz an den östlichen Talhang (unter Kreuzung der Steyr) gewechselt. Hoch über der Teichlmündung in die Steyr liegt auf einer Terrasse der Bahnhof Hinterstoder, der nun nach Überfahrung der Teichl erreicht wird. Nun geht es einige Kilometer vergleichsweise geradlinig am flachen Talboden westlich der wieder tiefer eingekerbten Teichl bis etwa Stummergut kurz vor dem ehemaligen Bahnhof Pießling-Vorderstoder, wo aufgrund der ruhigeren Topographie wieder an der östliche Talflanke trassiert wurde. Bei Roßleithen dann tritt die Streckenführung in das Becken von Windischgarsten entlang des Dambachs ein, das an seinem Südsaum ausgefahren und über den Schacherbauertunnel Richtung Edelbachttal und Spital am Phyrn wieder verlassen wird. Nach Überwindung einer sanften Talwasserscheide bei Spital wird wieder der Oberlauf der Teichl erreicht und an der östlichen Talflanke zum Nordportal des Bosrucktunnels angestiegen.
Im Graben des Ardningbaches tritt die Bahnstrecke südlich des Bosrucks ans Licht, passiert den Ort Ardning und steigt an der Nordflanke des Ennstales hinab zum sumpfigen Talboden, der nordwestlich von Selzthal an den westlichen Talflankenfuss hin (unter Überbrückung von Enns und Palten) durchmessen und dann in Bündelung mit der Rudolfsbahn der Endbahnhof Selzthal erreicht wird.

## Verkehr

Auf der Pyhrnbahn gibt es einen Stunden-Takt, an Werktagen verdichten Regionalzüge in der Hauptverkehrszeit auf einen 30-Minuten-Takt. Mehr als die Hälfte der Züge endet in Kirchdorf an der Krems. Züge, die von Linz kommend als Regionalexpress geführt werden und weiter in Richtung Selzthal verkehren, halten nach Kirchdorf in allen Stationen, sodass der südliche Abschnitt nur zweistündlich von Personenzügen bedient wird. Im Fahrplanjahr 2013/14 ergänzen dieses Angebot nur wenige R- bzw. REX-Züge.
Von Dezember 2007 bis Dezember 2013 gab es wieder Verbindungen zwischen Linz und dem Salzkammergut, die über die Pyhrnbahn bis nach Traun fahren und dann nach Marchtrenk abbiegen. Dieses Angebot wurde aufgrund umfangreicher Fahrplan-Neugestaltungen wieder stark dezimiert, sodass in Richtung Linz nur mehr ein werktäglicher Zug diese Relation bedient.
Von Dezember 2005 bis Dezember 2008 verkehrte nach langer Zeit wieder ein internationaler Schnellzug auf der Pyhrnbahn. Es handelte sich dabei um den EuroCity 100/101 „Jože Plečnik“ (Ljubljana – Praha v. v.), dessen Wagenmaterial von der Tschechischen Bahn und den Österreichischen Bundesbahnen gestellt wurde. Wegen des Desinteresses der Slowenischen Eisenbahnen verkehrt der Zug ab dem Fahrplan 2009 auf der Strecke Prag – Summerau – Linz – Wels – Salzburg. Mit Fahrplan 2011 wurden außerdem die beiden noch verbleibenden Direktverbindungen im Fernverkehr zwischen Graz und Linz eingestellt. Mit Fahrplanwechsel 2014 verkehren seit 15. Dezember 2013 wieder täglich zwei Direktverbindungen zwischen Graz und Linz, sowie weitere fünf als Umsteigeverbindung mit Anschluss im Bahnhof Selzthal. Die Fahrzeit der Direktverbindung beträgt 3 Stunden, die der Umsteigeverbindung 3 Stunden 18 Minuten.
Mit Fahrplanwechsel 2022 wurden Veränderungen bei den direkt geführten InterCitys zwischen Graz und Linz vorgenommen. Es gibt nun vier direkte Verbindungen, diese Züge halten nunmehr nicht in den Stationen Spital am Pyhrn und Klaus, dafür werden Hinterstoder, Kremsmünster und Traun vom Fernverkehr bedient.
Als Teil der Pyhrn-Schoberachse hat die Pyhrnbahn zudem Bedeutung im Güterverkehr.