Lorsque Grégoire VII, un moine réformiste, est élu pape en 1073, la controverse entre l'empereur et le pape commence.
Dans les rangs supérieurs du clergé allemand, Grégoire avait de nombreux ennemis. C'est pourquoi le roi Henri a déclaré que Grégoire n'était plus pape et que les Romains devaient choisir un nouveau pape [1]. Lorsque Grégoire entendit cela, il excommunia Henri IV, déclara qu'il n'était plus empereur et dit à ses sujets qu'ils n'avaient plus à lui obéir comme ils avaient juré de le faire.
L'excommunication du roi a fait une profonde impression tant en Allemagne qu'en Italie. Trente ans auparavant, son père Henri III avait déposé trois papes, mais lorsqu'Henri IV a essayé de copier cette procédure, il n'a pas eu le soutien du peuple. Les Saxons déclenchèrent une seconde rébellion, et le parti anti-royaliste se renforça de mois en mois.
Vers Canossa
Henry avait été excommunié à ce moment-là, et face à une opposition généralisée chez lui, avec Rudolf comme figure de proue, Henry rencontra le pape dans une forteresse des Alpes du Sud. Pendant trois jours, il fait pénitence dans la neige, pieds nus et vêtu d'un sac en tissu, ce qui conduit à une réconciliation avec le pape Grégoire VII.
Deuxième excommunication d'Henry
L'opposition des nobles allemands rebelles utilise l'excommunication d'Henri pour mettre en place un roi rival, Rodolphe de Rheinfelden (Forchheim, mars 1077). Au début, Grégoire semblait neutre car les deux partis (empereur et rebelles) étaient d'une force assez égale. Mais finalement, il se décida pour Rodolphe après sa victoire à Flarchheim (27 janvier 1080) et déclara à nouveau l'excommunication et la déposition du roi Henri (7 mars 1080).
Cette situation a été largement ressentie comme une injustice. Lorsque Rudolf mourut le 16 octobre de la même année, Henry, désormais plus expérimenté, reprit le combat. En 1081, il ouvre le conflit contre Grégoire en Italie. Grégoire était devenu moins puissant, et treize cardinaux l'abandonnèrent. Rome se rend au roi allemand, et Guibert de Ravenne est intronisé sous le nom de Clément III (24 mars 1084). Henri est couronné empereur par son rival, tandis que Grégoire lui-même doit fuir Rome en compagnie de son "vassal" normand Robert Guiscard.