Toen Gregorius VII, een hervormingsgezinde monnik, in 1073 tot paus werd gekozen, begon de controverse tussen keizer en paus.
In de hogere rangen van de Duitse geestelijkheid had Gregorius veel vijanden. Koning Hendrik verklaarde daarom dat Gregorius niet langer paus was en dat de Romeinen een nieuwe paus moesten kiezen [1]. Toen Gregorius hiervan hoorde excommuniceerde hij Hendrik IV, verklaarde dat hij niet langer keizer was en vertelde zijn onderdanen dat zij hem niet langer hoefden te gehoorzamen zoals zij hadden gezworen te doen.
De excommunicatie van de koning maakte zowel in Duitsland als in Italië een diepe indruk. Dertig jaar eerder had zijn vader Hendrik III drie pausen afgezet, maar toen Hendrik IV probeerde deze procedure te kopiëren, kreeg hij niet de steun van het volk. De Saksen begonnen een tweede opstand en de anti-royalistische partij groeide van maand tot maand in kracht.
Naar Canossa
Hendrik was inmiddels geëxcommuniceerd, en geconfronteerd met een wijdverbreide oppositie in eigen land, met Rudolf als boegbeeld, ontmoette hij de paus in een burcht in de Zuidelijke Alpen. Gedurende drie dagen deed hij boete in de sneeuw, blootsvoets en met een zakdoek om, wat leidde tot een verzoening met Paus Gregorius VII.
Tweede excommunicatie van Henry
De oppositie van de opstandige Duitse edelen gebruikte de excommunicatie van Hendrik om een rivaliserende koning Rudolf van Rheinfelden (Forchheim, maart 1077) op te richten. Aanvankelijk leek Gregorius neutraal te zijn omdat de twee partijen (keizer en opstandelingen) van vrij gelijke sterkte waren. Maar uiteindelijk koos hij toch voor Rudolf na diens overwinning bij Flarchheim (27 januari 1080) en kondigde hij de excommunicatie en afzetting van koning Hendrik opnieuw af (7 maart 1080).
Dit werd algemeen als onrechtvaardig ervaren. Toen Rudolf op 16 oktober van hetzelfde jaar stierf, nam Hendrik, nu met meer ervaring, de strijd op zich. In 1081 begon hij het conflict tegen Gregorius in Italië. Gregorius was nu minder machtig geworden, en dertien kardinalen lieten hem in de steek. Rome gaf zich over aan de Duitse koning, en Guibert van Ravenna troonde als Clemens III (24 maart 1084). Hendrik werd door zijn rivaal tot keizer gekroond, terwijl Gregorius zelf uit Rome moest vluchten in gezelschap van zijn Normandische "vazal" Robert Guiscard.