Perang Diponegoro
Pada tahun 1827, Belanda melakukan penyerangan terhadap Diponegoro dengan menggunakan sistem benteng sehingga Pasukan Diponegoro terjepit. Pada tahun 1829, Kyai Mojo, pemimpin spiritual pemberontakan, ditangkap. Menyusul kemudian Pangeran Mangkubumi dan panglima utamanya Alibasah Sentot Prawirodirjo menyerah kepada Belanda. Akhirnya pada tanggal 28 Maret 1830, Jenderal De Kock berhasil menjepit pasukan Diponegoro di Magelang. Di sana, Pangeran Diponegoro menyatakan bersedia menyerahkan diri dengan syarat sisa anggota laskarnya dilepaskan. Maka, Pangeran Diponegoro ditangkap dan diasingkan ke Manado, kemudian dipindahkan ke Makassar hingga wafatnya di Benteng Rotterdam tanggal 8 Januari 1855.
Berakhirnya Perang Jawa merupakan akhir perlawanan bangsawan Jawa. Perang Jawa ini banyak memakan korban dipihak pemerintah Hindia sebanyak 8.000 serdadu berkebangsaan Eropa, 7.000 pribumi, dan 200.000 orang Jawa. Setelah perang berakhir, jumlah penduduk Yogyakarta menyusut separuhnya.
Perang Diponegoro
Pada hari Rabu, 20 Juli 1825, pihak istana mengutus dua bupati keraton senior yang memimpin pasukan Jawa-Belanda untuk menangkap Pangeran Diponegoro dan Mangkubumi di Tegalrejo sebelum perang pecah. Meskipun kediaman Diponegoro jatuh dan dibakar, pangeran dan sebagian besar pengikutnya berhasil lolos karena lebih mengenal medan di Tegalrejo. Pangeran Diponegoro beserta keluarga dan pasukannya bergerak ke barat hingga Desa Dekso di Kabupaten Kulonprogo, dan meneruskan ke arah selatan hingga keesokan harinya tiba di Goa Selarong yang terletak lima kilometer arah barat dari Kota Bantul. Pangeran Diponegoro kemudian menjadikan Goa Selarong, sebuah goa yang terletak di Dusun Kentolan Lor, Guwosari Pajangan Bantul, sebagai basisnya. Pangeran menempati goa sebelah Barat yang disebut Goa Kakung, yang juga menjadi tempat pertapaan dia. Sedangkan Raden Ayu Retnaningsih (selir yang paling setia menemani Pangeran setelah dua istrinya wafat) dan pengiringnya menempati Goa Putri di sebelah Timur.