Thomas Bruns (Wierden, 7 januari 1992) is een Nederlands voetballer die bij voorkeur als middenvelder speelt.
Bruns begon zijn voetbalcarrière bij SV Omhoog uit zijn geboorteplaats. In 2003 werd hij gescout door FC Twente en kwam in de jeugdopleiding terecht. Hij doorliep de jeugdelftallen tot en met de A1, alwaar hij in januari 2011 halverwege het seizoen door Heracles Almelo werd weggeplukt. Hij tekende een tweejarig contract bij de Heraclieden en debuteerde op 9 april 2011 voor de club in de met 2-6 gewonnen wedstrijd tegen Willem II.[1]
Op 10 april 2017 tekende hij een vierjarig contract bij Vitesse. Doordat hij zijn contract bij Heracles Almelo had uitgediend, kon de Vitesse hem transfervrij overnemen.[2] Op 1 juli 2017 maakte hij in een oefenduel voor de start van de competitie, tegen PFK Oleksandrija (0-2), zijn officieuze debuut in het eerste elftal. Als bekerwinnaar, van het seizoen 2016/17, mocht Vitesse spelen om de Johan Cruijff Schaal tegen landskampioen Feyenoord op 5 augustus 2017. Het duel eindigde na reguliere speeltijd in 1-1. Vitesse verloor daarna na strafschoppen (4-2), waarbij Vitesse-spelers Tim Matavž en Milot Rashica hun penalty's misten. Op 14 augustus maakte Bruns zijn eerste officiële doelpunt voor Vitesse in de competitie, tegen NAC Breda (4-1). Voor de tweede helft van het seizoen 2018/19 werd hij uitgeleend aan FC Groningen.
Bij zijn debuut op 19 januari 2019 in de wedstrijd tegen Heracles Almelo scoorde hij gelijk 2x.[3]. In de eerste seizoenshelft van seizoen 2019/20 werd Bruns verhuurd aan PEC Zwolle, maar door weinig speeltijd vertrok hij eind januari 2020 alweer om door Vitesse uitgeleend te worden voor de tweede seizoenshelft aan VVV-Venlo.[4] Vanwege de coronacrisis in Nederland kwam Bruns daar slechts zes wedstrijden in actie, waarna hij weer terugkeerde bij Vitesse.[5]
Na vier jaar Vitesse tekende de transfervrije Bruns in augustus 2021 een tweejarig contract bij Adanaspor.[6]