Po raz pierwszy na arenie międzynarodowej Bernhard Gruber pojawił się 27 stycznia 2000 roku, kiedy wystartował na mistrzostwach świata juniorów w Štrbskim Plesie. Wraz z kolegami z reprezentacji zdobył tam brązowy medal w konkursie drużynowym. Kilka dni później, 5 lutego 2000 roku w Andelsbuch zadebiutował w Pucharze Świata B, zajmując od razu trzecie miejsce w konkursie rozgrywanym metodą Gundersena. Dwa lata później, na mistrzostwach świata juniorów w Schonach był siódmy w sztafecie, a zawodów w Gundersenie nie ukończył.
W Pucharze Świata zadebiutował 1 stycznia 2003 roku, zajmując 32. miejsce w sprincie w Oberhofie. W sezonie 2002/2003 wystartował jeszcze ośmiokrotnie, przy czym 8 stycznia w Ramsau zajął 26. miejsce w sprincie - były to jego pierwsze punkty w karierze. W klasyfikacji generalnej zajął ostatecznie 46. miejsce. W kilku następnych sezonach nie odniósł większych sukcesów. Zajął między innymi trzecie miejsce w klasyfikacji generalnej sezonu 2004/2005 Pucharu Świata B, a w lecie 2006 roku był czwarty w klasyfikacji końcowej czternastej edycjiLetniego Grand Prix w kombinacji norweskiej. W letniej rywalizacji, 25 sierpnia 2006 roku w Steinbach zajął trzecie miejsce w Gundersenie. Wyniki te nie przełożyły się jednak sezon 2006/2007. Gruber zakończył cykl na szesnastym miejscu, najlepszy wynik osiągając 6 stycznia 2007 roku w Oberstdorfie, gdzie był piąty w Gundersenie.
Dziesiątą edycję LGP zakończył na szóstej pozycji, przy czym 29 sierpnia w Val di Fiemme zajął trzecie miejsce w Gundersenie. Najlepsze wyniki osiągnął w sezonie 2007/2008, kiedy zajął czwarte miejsce w klasyfikacji generalnej, tracąc do trzeciego w klasyfikacji Billa Demonga zaledwie 12 punktów. Już w swoim czwartym starcie, 9 grudnia 2007 roku w Trondheim wywalczył swoje pierwsze podium w PŚ, zajmując trzecie miejsce w sprincie. Jeszcze pięciokrotnie stawał na podium, w tym 24 lutego w Zakopanem odniósł pierwsze zwycięstwo w karierze i 8 marca w Oslo, gdzie zwyciężył po raz drugi. Ponadto w klasyfikacji sprintu zajął trzecie miejsce, wyprzedzili go tylko FrancuzJason Lamy Chappuis i NiemiecRonny Ackermann.
W sezonach 2008/2009 i 2009/2010 spisywał się już słabiej. Łącznie tylko raz stanął na podium - 10 stycznia 2009 roku był drugi w starcie masowym w Val di Fiemme. W klasyfikacji generalnej zajął odpowiednio dziewiąte i szesnaste miejsce. W lutym 2009 roku wystąpił na mistrzostwach świata w Libercu, jednak medalu nie zdobył. Najbliżej podium był w konkursie drużynowym, w którym razem z kolegami zajął piąte miejsce. W obu konkursach indywidualnych rozegranych metodą Gundersena był jedenasty, a w starcie masowym zajął 22. miejsce. Podczas zimowych igrzysk olimpijskich w Vancouver wspólnie z Felixem Gottwaldem, Mario Stecherem i Davidem Kreinerem wywalczył złoty medal w konkursie drużynowym. Po konkursie skoków reprezentacja Austrii znajdowała się na trzecim miejscu i do biegu przystąpiła ze stratą 36 sekund. W biegu Austriacy byli jednak najlepsi i na mecie wyprzedzili Amerykanów o nieco ponad 5 sekund i blisko 20 sekund Niemców, którzy zajęli trzecie miejsce. Wystartował także w Gundersenie na dużej skoczni, gdzie prowadził po konkursie skoków. Na trasę biegu wyruszył z przewagą 34 sekund nad Johnnym Spillanem ze Stanów Zjednoczonych. Przewagi tej nie zdołał utrzymać, co więcej wyprzedził go nie tylko Spillane, ale także drugi z Amerykanów - Bill Demong, który zdobył złoty medal. Gruber na mecie zameldował się ze stratą 10.8 sekundy do zwycięzcy.
Przeciętne wyniki w sezonie 2010/2011 przyniosły mu po raz kolejny 16. pozycję w klasyfikacji generalnej. Tylko raz stanął na podium, 8 stycznia 2011 roku w Schonach był trzeci w Gundersenie. Najważniejszą imprezą sezonu były mistrzostwa świata w Oslo, na których Austriacy w składzie: Bernhard Gruber, David Kreiner, Felix Gottwald i Mario Stecher zdobyli złote medale w obu konkursach drużynowych. Gruber nie wystartował jednak w żadnym z konkursów indywidualnych. W lecie 2011 roku był ósmy w klasyfikacji końcowej czternastej edycji LGP, przy czym raz stanął na podium - 31 sierpnia 2011 roku w Libercu był drugi w Gundersenie. Dobrą formę zaprezentował także w sezonie 2011/2012. Pięciokrotnie stawał na podium, w tym 25 lutego 2012 roku w Libercu zwyciężył w Gundersenie. W klasyfikacji generalnej pozwoliło mu to zająć czwarte miejsce.
Lato 2012 roku przyniosło mu największy sukces w historii jego startów w LGP. Gruber stanął na podium wszystkich sześciu indywidualnych zawodów i wyraźnie wygrał piętnastą edycję tego cyklu. Wtedy też po raz pierwszy w karierze wygrał letnie zawody - 21 lipca w Soczi był najlepszy w Gundersenie na skoczni dużej. W sezonie 2012/2013 spisywał się nieco słabiej. Trzykrotnie stawał na podium, raz na każdym jego stopniu. Jedyne zwycięstwo sezonu odniósł 2 lutego 2013 roku w Soczi. W klasyfikacji generalnej był czwarty, za NiemcemErikiem Frenzlem, Francuzem Lamy Chappuisem i Akito Watabe z Japonii. Na przełomie lutego i marca 2013 roku brał udział w mistrzostwach świata w Val di Fiemme, gdzie zdobył dwa srebrne medale. Najpierw był drugi w Gundersenie na dużej skoczni (przegrywając tylko z Frenzlem), a parę dni później (razem z Wilhelmem Deniflem) zajął drugą pozycję w sprincie drużynowym. W lecie 2013 roku wspólnie z Akito Watabe zwyciężył w klasyfikacji końcowej szesnastej edycji LGP. W czterech zawodach indywidualnych trzykrotnie stawał na podium, w tym 30 sierpnia zwyciężył w niemieckim Oberstdorfie.
W lutym 2014 roku brał udział w igrzyskach olimpijskich w Soczi, gdzie wspólnie z Lukasem Klapferem, Christophem Bielerem i Mario Stecherem zdobył brązowy medal w drużynie. Indywidualnie wystąpił tylko w konkursie na dużej skoczni, który ukończył na piątej pozycji.
Na mistrzostwach świata w Falun w 2015 roku Austriak zdobył złoty medal w gundersenie na dużej skoczni. W drugim występie indywidualnym na normalnej skoczni został sklasyfikowany na dziesiątej pozycji. W zawodach zespołowych był piąty w sztafecie oraz siódmy w sprincie drużynowym.
↑Zgodnie z regulaminem LGP 2018 do końcowej klasyfikacji zaliczani byli tylko zawodnicy, którzy wystartowali we wszystkich zawodach. W nawiasie podano lokatę zawodnika nie uwzględniając tej reguły.
↑Zgodnie z regulaminem LGP 2019 do końcowej klasyfikacji zaliczani byli tylko zawodnicy, którzy wystartowali we wszystkich zawodach. W nawiasie podano lokatę zawodnika nie uwzględniając tej reguły.