I EM i 2004 måtte Tyskland forlate turneringen allerede etter gruppespillet. Etter EM ga Kahn kapteinsbindet videre til Michael Ballack. Den nyansatte landslagssjefen Jürgen Klinsmann ville ha mer konkurranse rundt keeperplassen og så ikke på Kahn som fast førstevalg lenger. Dette førte til at Jens Lehmann også kom inn i landslaget, og før VM i Tyskland i 2006 bestemte Klinsmann å satse på Lehmann istedenfor Oliver Kahn. Men etter tap i semifinalen mot Italia ble det offentliggjort at Kahn skulle spille bronsefinalen som en avskjedsgest for landslaget. Kahn ble også tildelt kapteinsbindet i kampen foran kaptein Ballack og visekaptein Bastian Schweinsteiger. Tyskland slo Portugal 3-1. Kahn forlot landslaget etter 86 kamper, 49 som kaptein.