Bilas beras putih panjang dalam saringan halus di bawah air mengalir hingga airnya jernih; tiriskan.
Panaskan minyak zaitun atau mentega tawar di panci ukuran sedang (atau Dutch oven) dengan api sedang.
Masukkan bawang bombay cincang, tumis sambil sesekali diaduk hingga bawang layu dan transparan, sekitar 5–7 menit.
Tambahkan bawang putih cincang, masak selama 1 menit. Masukkan kunyit bubuk dan jinten bubuk (opsional), sangrai bumbu selama 30 detik sambil diaduk.
Masukkan beras yang sudah ditiriskan, aduk hingga beras terlapisi minyak dan bumbu; masak 2–3 menit sambil sesekali diaduk hingga pinggiran butir nasi mulai bening.
Tuang kaldu ayam (atau kaldu sayur), tambahkan garam dan daun salam (opsional), aduk rata, lalu didihkan.
Kecilkan api, tutup panci rapat-rapat, dan masak tanpa diaduk selama 15 menit.
Matikan api, biarkan panci tetap tertutup selama 10 menit. Buang daun salam, kembangkan nasi dengan garpu, lalu sajikan.