Menurut laporan Komite Nasional Keselamatan Transportasi (KNKT), GA421 dijadwalkan terbang dari Selaparang, Mataram, pada pukul 15.00 WITA.
Pesawat B737-300 registrasi PK-GWA yang dipiloti oleh Kapten Abdul Rozak itu kemudian menuju ketinggian jelajah 31.000 kaki.
Pesawat dijadwalkan tiba di Yogyakarta sekitar pukul 17.30 WIB.
Namun saat meninggalkan ketinggian jelajah untuk turun ke bandara Adisutjipto, di atas wilayah Rembang, kapten Rozak memutuskan untuk sedikit menyimpang dari rute seharusnya, atas izin ATC.
Hal itu dilakukan karena di depan terdapat awan yang mengandung hujan dan petir. Kru pesawat mencoba untuk terbang di antara dua sel awan badai.
Sekitar 90 detik setelah memasuki awan yang berisi hujan, saat pesawat turun ke ketinggian 18.000 kaki dengan kondisi mesin dalam posisi idle, kedua mesin tiba-tiba mati dan kehilangan daya dorong (thrust).
Pilot dan kopilot pun saat itu mencoba untuk menghidupkan unit daya cadangan (auxiliary power unit/APU) untuk membantu menyalakan mesin utama, tetapi tidak berhasil.
Ketika pesawat sampai di ketinggian 8.000 kaki, dan kedua mesin belum berhasil di-restart, pilot melihat alur anak sungai Bengawan Solo dan memutuskan untuk melakukan pendaratan di sana.
Pesawat pun melakukan ditching tanpa mengeluarkan roda pendaratan maupun flaps (menjulurkan sayap).