Sommeren 1977 ble Keegan solgt til for 500.000 pund. Her ble han tysk ligamester én gang, og ble kåret til årets spiller i Europa to ganger. I 1980 returnerte Keegan til England. Han spilte to sesonger for og to sesonger for , som han hjalp til opprykk i sin siste sesong før han la opp som spiller i 1984. Han spilte også 63 landskamper for og scoret 21 landslagsmål.