Johannes Eggestein (Hannover, 8 mei 1998) is een Duits voetballer die doorgaans speelt als spits. In augustus 2017 debuteerde hij voor Werder Bremen. Zijn broer Maximilian Eggestein is ook voetballer.
Eggestein speelde in de jeugd van TSV Schloß Ricklingen en TSV Havelse en werd in 2013 opgenomen in de jeugdopleiding van Werder Bremen. Bij die club maakte hij ook zijn professionele debuut, tijdens een met 2–1 verloren wedstrijd in het toernooi om de DFB-Pokal uit bij Sportfreunde Lotte. Zijn debuut in de Bundesliga volgde op 26 augustus 2017, toen met 0–2 verloren werd van Bayern München door twee treffers van Robert Lewandowski. Eggestein begon op de reservebank, maar van coach Alexander Nouri mocht hij zes minuten voor tijd invallen voor Fin Bartels. In zijn eerste seizoen kwam de aanvaller tot zeven competitiewedstrijden, telkens als invaller. Op 5 oktober 2018 kwam de aanvaller voor het eerst tot scoren, tegen VfL Wolfsburg. Hij mocht van coach Florian Kohfeldt zeven minuten voor tijd invallen voor Yuya Osako toen Werder Bremen op voorsprong stond door een doelpunt van Davy Klaassen. Drie minuten later verdubbelde Eggestein de voorsprong op aangeven van Claudio Pizarro. In april 2019 verlengde de clubleiding van Werder Bremen het aflopende contract van de aanvaller voor onbekende tijd.