Když byl v roce 1073 zvolen papežem reformní mnich Řehoř VII., začal spor mezi císařem a papežem.
Ve vyšších kruzích německého kléru měl Řehoř mnoho nepřátel. Král Jindřich proto prohlásil, že Řehoř již není papežem a Římané by měli zvolit nového papeže [1]. Když se to Řehoř dozvěděl, exkomunikoval Jindřicha IV. a prohlásil, že už není císařem, a svým poddaným sdělil, že ho už nemusí poslouchat, jak přísahali.
Exkomunikace krále vyvolala hluboký dojem v Německu i v Itálii. Třicet let předtím sesadil jeho otec Jindřich III. tři papeže, ale když se Jindřich IV. pokusil tento postup napodobit, neměl podporu lidu. Sasové zahájili druhou vzpouru a protikrálovská strana měsíc od měsíce sílila.
Do Canossy
Jindřich byl v té době exkomunikován a čelil rozsáhlé domácí opozici, v jejímž čele stál Rudolf, a proto se setkal s papežem v pevnosti v jižních Alpách. Po tři dny se kál ve sněhu, bos a v pytlovině, což vedlo ke smíření s papežem Řehořem VII.
Druhá exkomunikace Jindřicha
Opozice vzbouřených německých šlechticů využila Jindřichovy exkomunikace k nastolení konkurenčního krále Rudolfa z Rheinfeldenu (Forchheim, březen 1077). Zpočátku se zdálo, že Řehoř je neutrální, protože obě strany (císař a rebelové) byly poměrně stejně silné. Nakonec se však po vítězství u Flarchheimu (27. ledna 1080) rozhodl pro Rudolfa a znovu vyhlásil exkomunikaci a sesazení krále Jindřicha (7. března 1080).
To bylo všeobecně pociťováno jako nespravedlnost. Když Rudolf 16. října téhož roku zemřel, ujal se boje již zkušenější Jindřich. V roce 1081 zahájil konflikt proti Řehořovi v Itálii. Řehoř se nyní stal méně mocným a třináct kardinálů ho opustilo. Řím se vzdal německému králi a Guibert z Ravenny usedl na trůn jako Klement III (24. března 1084). Jindřich byl korunován císařem svým rivalem, zatímco sám Řehoř musel z Říma uprchnout v doprovodu svého normanského "vazala" Roberta Guiscarda.