Latem 2006 przedłużył kontrakt do 30 czerwca 2011. Od początku sezonu 2006/2007 zaczął regularnie grać w pierwszym składzie. W rundzie jesiennej zdobył 8 goli w lidze, a w każdym meczu pierwszych czterech kolejek rundy wiosennej zdobywał gola. W meczu z VfL Bochum doznał kontuzji i do końca sezonu nie pojawił się na boisku. Wraz ze Stuttgartem wywalczył mistrzostwo Niemiec. W całym sezonie zdobył 14 goli w lidze.

Od początku sezonu 2009/2010 był piłkarzem Bayernu Monachium. Pierwszy sezon w Bayernie zakończył z 14 trafieniami w lidze.

Sezon 2010/11 zakończył z tytułem króla strzelców Bundesligi z 28 bramkami. W sezonie 2011/2012 strzelił we wszystkich rozgrywkach 41 goli w 52 meczach. W Lidze Mistrzów Bayern dotarł do finału z Chelsea F.C. w Monachium, w którym Gómez rozegrał pełne 90 minut wraz z dogrywką oraz trafił do bramki podczas serii rzutów karnych. Mecz wygrała Chelsea.

W sezonie 2012/2013, z powodu kontuzji, stał się zmiennikiem Mario Mandžukicia. Wraz z klubem sięgnął po tzw. potrójną koronę, zdobywając Mistrzostwo Niemiec, Puchar Niemiec oraz zwyciężając w Lidze Mistrzów.

Po zakończeniu sezonu odszedł za około 16 milionów euro do włoskiego ACF Fiorentina.