Pemberontakan Trunajaya
Perang ini berawal dengan kemenangan pihak pemberontak: pasukan Trunajaya mengalahkan pasukan kerajaan di Gedogog (1676), lalu berhasil menduduki hampir seluruh pantai utara Jawa dan merebut keraton Mataram di Keraton Plered (1677). Raja Amangkurat I meninggal ketika melarikan diri dari keraton. Ia digantikan oleh anaknya, Amangkurat II yang meminta bantuan kepada VOC dan menjanjikan pembayaran dalam bentuk uang dan wilayah. Keterlibatan VOC berhasil membalikkan situasi. Pasukan VOC dan Mataram merebut kembali daerah Mataram yang diduduki, dan merebut ibu kota Trunajaya di Kediri (1678). Pemberontakan terus berlangsung hingga Trunajaya ditangkap VOC pada akhir 1679, dan juga kekalahan, kematian atau menyerahnya pemimpin pemberontakan lain (1679–1680). Trunajaya menjadi tawanan VOC, namun dibunuh oleh AmangkuratII saat kunjungan raja pada tahun 1680.
Pertempuran Gegodog
Sebelum pertempuran, Trunajaya menyerbu Jawa timur dan menduduki Surabaya dan kota-kota lainnya. Raja Amangkurat I mengerahkan pasukan untuk menghadapi dia, yang dipimpin oleh putra mahkota. Putra mahkota mengharapkan pertempuran palsu dari Trunajaya, mantan pengikutnya. Namun, Trunajaya memberikan pertarungan nyata yang berakhir dengan kemenangan mutlak atas tentara kerajaan yang jumlahnya jauh lebih besar. Tentara kerajaan dikalahkan dan paman tua raja, Pangeran Purbaya tewas setelah memimpin serangan yang sia-sia. Kemenangan pemberontak diikuti oleh keberhasilan lebih lanjut, termasuk semakin banyak penaklukan dan pembelotan para kawula Mataram ke pihak Trunajaya.