1684-ben XI. Ince pápa nagy diplomáciai erőfeszítései révén létrejött a Szent Liga, melynek célja az európai török uralom felszámolása lett. Károly herceg még ebben az évben sikertelenül ostromolta Budát, majd 1685-ben bevette Érsekújvárt. 1686. szeptember 2-án a Szent Liga csapatai, szintén Károly herceg főparancsnoksága alatt, háromhavi ostromot követően 145 évvel és négy nappal a város török kézre kerülése után sikeresen visszafoglalták Budát az oszmánoktól. 1687-ben Badeni Lajos a nagyharsányi csatában megverte az oszmánokat, miközben Lotaringiai Károly Erdélyt szabadította fel.