然而，意大利却在此时占领了马萨瓦。约翰尼斯为了专心应付马赫迪，试图与意大利人达成共识。阿卢拉则直接开始与意大利人交战。帝国内部，高占涅古斯、绍阿涅古斯(涅古斯，王爵)也发动了叛乱。随后，高占的叛乱遭到约翰尼斯血腥镇压。正当约翰准备消灭绍阿时，马赫迪进攻贡德尔并焚毁了城内的教堂。约翰于是引军北上，与马赫迪正面交锋。战斗中，约翰尼斯因陷入敌阵太深而遭到枪击。在被带回己方帐篷后，他声称其侄子曼加沙是他的亲生儿子并指定曼加沙为皇储。过了数小时，约翰尼斯驾崩。听闻皇帝战死，衣索比亚军士气大衰。最终，马赫迪军大败埃塞俄