После этого Генрих со стыдом и досадою оставил Каноссу. Итальянцы тотчас заметили перемену в его настроении и в отношении к папе; старые приверженцы императорской власти, из которых многие до сих пор находились под церковным проклятием, мало-помалу стали собираться к нему и побудили его провести зиму в Италии. Генрих, наделенный от природы достаточной дальновидностью, скоро заметил, что нигде основания папской власти не были так шатки, как в этой стране раздоров, и пришел к убеждению, что с помощью денег, разных обещании и коварства здесь можно приобрести множество приверженцев и успешно бороться с папой. В душе его страх перед Григорием уступил место прежней решимости, и с этих пор началась борьба, которую он вел мечом и словом в течение тридцати последующих лет и которая обнаружила в нём немало твердости и таланта.

Между тем враждебные Генриху князья обвинили его в нарушении данной клятвы. В марте 1077 г. они собрались на съезде в Форшгейме, объявили Генриха низложенным и выбрали императором герцога Швабского Рудольфа. Но далеко не все прежние противники Генриха поддержали этот выбор. Верность старому королю сохранили многие города, а также духовенство, опасавшееся властолюбия Григория. Немецкое национальное чувство вообще было оскорблено тем унижением, которому подвергся в Каноссе король. К тому же отречение с Генриха было снято, и он мог требовать от вассалов прежней покорности. Весной он вернулся в Германию. С ним было мало войск, но он вез большие суммы денег, полученные от ломбардцев, и поэтому смог быстро увеличить свои силы. Радость, с которой встретили короля граждане Регенсбурга, ободрила его. К Генриху отовсюду съезжались епископы и князья, уверяя его в своей преданности. После нескольких небольших сражений на Верхнем Дунае и Некаре Рудольф был принужден уйти из Южной Германии в Саксонию. Генрих собрал в Ульме съезд князей и на нём по алеманскому закону объявил мятежниками герцога Швабского, Баварского, Каринтийского и других князей, находившихся в войске Рудольфа, отнял у них лены, родовые имения, титулы и раздал их своим приверженцам. Герцогом Швабским он сделал храброго графа Фридриха Гогенштауфена, обручив с ним свою маленькую дочь Агнессу. Таким образом было положено начало могуществу этого рода. Вскоре страшная война охватила всю Германию. По свидетельству современников, убийства, грабежи, пожары и опустошения охватили страну от Дании до Апулии и от Франции до Венгрии. Трупы грудами валялись без погребёния, отданные в пищу волкам. Как и ожидалось, самую сильную поддержку Рудольф нашел в Саксонии. Также многих сторонников он имел в Баварии и Швабии. Но все остальные области Германии приняли сторону Генриха. В августе 1078 г. при Марлихштадте произошла кровопролитная битва. Вскоре после начала сражения левое крыло мятежников обратилось в бегство. Архиепископ Магдебургский был убит, архиепископы Майнцкий и Вормсский попали в плен к королю. Был также взят в плен герцог Саксонский Магнус. Но с другой стороны, левый фланг королевских войск также был разбит. Исход битвы остался нерешенным: противники разошлись, и каждый считал себя победителем. В январе 1080 г. произошло второе сражение – в Тюрингии, близ деревни Флархгейм. Оно также было очень упорным, и к вечеру Генрих, понеся большие потери, должен был отойти в свой стан. Победители на плечах отходивших ворвались в королевский лагерь и разграбили его. Общий исход сражения был очень неудачен для короля; его противники торжествовали победу. Григорий во время всех этих междоусобий старался сохранять нейтралитет, хотя явно и всей душой сочувствовал Рудольфу. Узнав о флархгеймской победе, он отбросил всякие колебания и объявил, что считает Рудольфа единственным законным правителем Германии. В Риме как раз проходил церковный собор, и на одном из заседаний папа вновь провозгласил Генриха отлученным от церкви и лишённым королевского сана.

Это второе отлучение не произвело того впечатления, какое имело первое. Генрих узнал о папском проклятии в Бамберге, где он праздновал Пасху. Князья, съехавшиеся к нему на праздник, тотчас единогласно объявили, что перестают признавать Григория папой.

В конце мая Генрих собрал в Майнце собор немецких епископов, объявивший папу низложенным. К ним присоединился Бриксенский собор итальянских прелатов. В июне был избран папою архиепископ Равеннский Виберт, принявший имя Климента III. Рудольф в свою очередь был отлучен от церкви и предан проклятию. В октябре того же года Генрих вторгся в Тюрингию, разграбил и сжёг Эрфурт, дошел до Эльстера, но здесь его настиг Рудольф и принудил к битве на неудобной заболоченной местности. Королевская конница была утомлена трудным движением по вязкой почве, но все-таки Генрих разбил ту часть неприятельского войска, которая находилась против него. Епископы, сопровождавшие короля, уже начали служить благодарственный молебен, но тут саксонская пехота неожиданно напала на всадников, расстроивших свои ряды в погоне за побежденными. Все войско Генриха было охвачено паническим страхом; конница поскакала к реке, много воинов утонуло в Эльстере, другие были перебиты саксонцами во время бегства. Королевский стан был взят, и победителям досталась богатая добыча. Однако к великому несчастью победителей их король Рудольф получил в этой битве смертельные раны и вскоре умер. Воодушевленный этим Генрих в марте 1081 г. оставил вместо себя в Германии Фридриха Гогенштауфена, а сам выступил походом в Италию. Вся Ломбардия, давно уже враждовавшая с Григорием, приняла его сторону. В Тоскане у него также нашлось много сторонников, недовольных властным правлением Матильды. Лукка, Пиза и Сиена открыли перед Генрихом ворота. Около Троицы немецкое войско подошло к Риму и 21 мая раскинуло свой стан на Нероновом поле близ Ватикана. Римляне остались верны папе. На помощь Григорию подошли войска из Тосканы и норманны из Южной Италии. Натолкнувшись на упорное сопротивление, Генрих отправился опустошать владения Матильды. Зиму он провел в Равенне, а весной 1082 г. во второй раз подошел к Риму. Он несколько раз приступал к стенам Леонова города, но все приступы были отбиты. Началась долгая осада. Только 2 июня 1083 г. немцам удалось взойти на стену Леонова города, перебив всех её защитников. На улицах города Генрих тоже встретил отчаянное сопротивление, однако соотношение сил было не в пользу осаждённых. Григорий укрылся в замке святого Ангела. Генрих понимал, что ему выгоднее помириться с папой, чем злоупотреблять своим успехом. Он просил только, чтобы Григорий снял с него отлучение и короновал императорской короной, а решение всех спорных вопросов согласен был передать церковному собору. Многим сторонникам папы казалось, что такой исход борьбы не уронит папского величия; говорят, что они на коленях умоляли его примириться с королём. Но Григорий непреклонно требовал, чтобы Генрих, согласно церковному постановлению, сложил с себя королевский сан. Истощив все средства убеждения, Генрих созвал 21 марта 1084 г. духовных и светских сановников своего войска в собор святого Петра. Собрание объявило Григория низложенным и признало папой Климента III. Через десять дней новый папа торжественно короновал Генриха императорской короной. Затем Генрих начал осаду замка святого Ангела, но, узнав, что норманнский герцог Роберт Гискар спешит с большим войском на помощь папе, в мае ушел из Рима. Вскоре после его отступления норманны взяли Рим и подвергли его такому жестокому разгрому, какого этот город не испытывал со времен готов. Григорий после этого не мог оставаться в Риме, где все проклинали его имя. Вместе с Робертом Гискаром он поехал в Южную Италию и умер в мае 1085 г. в Салерно.