Na początku kariery zawodowej był zawodnikiem VfB Oldenburg i występował w niemieckiej II lidze. W 1997 przeniósł się do Hamburger SV, a w 2001 został piłkarzem Bayeru Leverkusen. 15 maja 2002 bronił w finale Ligi Mistrzów 2001/2002 przeciwko Realowi Madryt. W 2007 przeniósł się do Benfiki, skąd po zaledwie pięciu występach przeniósł się do Bayernu Monachium. 22 maja 2010 zagrał w finale Ligi Mistrzów 2009/2010 z Interem Mediolan w Madrycie.
Jest bramkarzem strzelającym często bramki z rzutów karnych. Zdobył w meczach Bundesligi 26 bramek[2], co jest rekordowym dorobkiem strzeleckim bramkarza w historii ekstraklasy niemieckiej. Znany jest jednak przypadek z meczu Bundesligi przeciwko FC Schalke 04, kiedy to Hans po strzeleniu gola z karnego spokojnie truchtał pod własną bramkę. Ten moment wykorzystał napastnik przeciwników, Mike Hanke, który od razu po gwizdku kopnął piłkę ze środka boiska. Piłka ominęła Butta, który był od niej odwrócony i wpadła do bramki, oba gole padły w odstępie 20 sekund. 8 grudnia 2009 roku, w ostatnim wygranym meczu grupowym przeciwko Juventusowi Turyn, w 30 minucie Butt przyczynił się bramką z rzutu karnego do awansu Bawarczyków do dalszej fazy rozgrywek. Mecz zakończył się zwycięstwem Niemców 4-1.