Die Bahnstrecke Weiden–Neuenmarkt-Wirsberg verbindet Weiden in der Oberpfalz an der Bahnstrecke Regensburg–Hof über Bayreuth mit dem Bahnhof Neuenmarkt-Wirsberg an der Bahnstrecke Bamberg–Hof.
Sie besteht aus zwei Abschnitten, die zu unterschiedlichen Zeiten gebaut und zunächst von verschiedenen Eisenbahnunternehmen betrieben wurden.
- Die Bahnstrecke Bayreuth–Neuenmarkt-Wirsberg entstand 1853 als bayerische Pachtbahn. Die Stadt Bayreuth finanzierte deren Bau und verpachtete sie anschließend an den bayerischen Staat. Betreiber waren die Königlich Bayerischen Staatseisenbahnen (K.Bay.Sts.B.).
- Die Bahnstrecke Weiden–Bayreuth über Kirchenlaibach wurde 1863 von der Actiengesellschaft der bayerischen Ostbahnen als Bahnstrecke Irrenlohe–Bayreuth eröffnet. Am 1. Januar 1876 wurde die Ostbahngesellschaft verstaatlicht und die Strecke von den K.Bay.Sts.B. übernommen.
Im Bayreuther Bahnhof hatten die beiden Unternehmen zunächst getrennte Anlagen. Durchgehende Züge gab es nicht, auch die Notwendigkeit passender Anschlüsse für Umsteiger wurde noch nicht erkannt. Der Personenverkehr wurde aus Kostengründen aber von Anfang an am Bahnsteig der seit 1853 bestehenden „Pachtbahn“ abgewickelt.
Im Jahr 2020 existieren im Personenverkehr nur wenige durchgehende Verbindungen zwischen Weiden und Neuenmarkt-Wirsberg. Die von Weiden kommenden Nahverkehrstriebwagen von Agilis fahren über Bayreuth hinaus überwiegend nach Weidenberg. Weitere Agilis-Verbindungen werden zwischen Marktredwitz, Kirchenlaibach und Bayreuth sowie Bayreuth, Neuenmarkt-Wirsberg und Coburg angeboten. Dabei verkehren mehrere Züge durchgehend von Marktredwitz bis Coburg und zurück, vereinzelt aber auch zwischen Weiden und Coburg. Die Züge der DB Regio aus Neuenmarkt-Wirsberg verkehren ab Bayreuth über die Bahnstrecke Schnabelwaid–Bayreuth weiter in Richtung Nürnberg.