Nasi Gandul: Beef, Broth and Coconut Gravy Over Rice
Keep the broth the beef was cooked in. It becomes the base of the gravy. Fry the spice paste until it smells fragrant without letting it scorch, then add the coconut milk and kecap manis and let the gravy thicken.
A bowl of plain white rice. Tender pieces of beef laid on top. A brown gravy of beef broth, coconut milk and spices spooned over everything, with a few crisp fried shallots to finish. That is nasi gandul, a rice dish closely tied to Pati in Central Java.
Published versions differ. This article follows one home-style recipe published directly on ResepKoki, an Indonesian recipe site. The recipe as a whole has not been kitchen-tested by Sekai Gohan. The page lists 4 portions and an estimated 120 minutes. Those figures are the site's own estimates, not timings we measured or guarantee. The page also displays the Instagram handle @tiyarahmatiya, but it does not say what role that account played. It also lists Atsarina Luthfiyyah as senior editor. We do not treat either name as the recipe's author or tester.
The structure is simple. You cook beef in salted water until it is tender, then lift it out and cut it. You fry a ground paste of shallots, garlic, roots and spices with five whole aromatics. That paste goes back into the same beef broth with the beef, followed by coconut milk and sweet soy sauce. The recipe gives no amount for the cooking water or the frying oil, so this article leaves them unmeasured and does not make up numbers. The recipe lists salt twice, 1 teaspoon each. One portion goes into the paste. Assigning the other portion to the beef-boiling water is our editorial choice, made so the steps connect. Returning the cooked, cut beef to the seasoned broth before adding coconut milk is also an editorial completion of the method.
For more dishes from the same country, see the Indonesia country page.
Ingredients: Serves 4, Two Separate Salts

Choosing and Substituting Ingredients
Beef. Choose beef sold for stewing.
Kecap manis is not ordinary soy sauce. It is sweet and thick. Plain soy sauce, Japanese dark soy sauce included, is not the same product. A straight swap moves the flavor away from this dish. Look for kecap manis by name at Indonesian or other Asian grocers.
Kencur and galangal are not ginger. The paste uses ginger and kencur as two separate roots. Galangal goes in whole as an aromatic. If you replace kencur or galangal with more ginger, the aroma changes. Look for kencur and galangal by name at Asian grocers.
Candlenuts. Buy candlenuts that are already toasted and ready to use. Use the ready-to-use toasted product rather than raw candlenuts.
Coriander, salam leaves and kaffir lime leaves. Toasted coriander, salam leaves and kaffir lime leaves are all worth looking for by name at Indonesian or Asian grocers.
Coconut milk. Use 250 ml, added in a single addition. Products vary in thickness. Watch the gravy as it reduces rather than following a fixed adjustment.
Fried shallots. Use a ready-made, store-bought pack. No home frying step is needed.
Equipment
- An ordinary cooking pot, for boiling the beef and finishing the gravy
- A frying pan or wok, for frying the spice paste
- A mortar and pestle or a food processor
- Tongs or a slotted spoon
- A knife and a clean cutting board for the cooked beef, kept separate from anything that touched raw meat
- A ladle and serving bowls
Method: From Beef Broth to Coconut Gravy
As a general meat-safety guideline, heat the center to 75°C for at least 1 minute. This is not a recipe-specific simmering time. Keep raw beef refrigerated until you cook it. Keep boards, knives and hands that have touched raw meat away from cooked food. Cook the beef until it is tender and cooked through, then bring the whole dish back to a simmer at the end.
Use an ordinary cooking pot. The beef broth is the heart of the gravy, so do not throw it away or replace it with fresh water.
Troubleshooting
The recipe fixes no heat levels, minutes or water amounts. Most corrections come down to watching the pot.
| Problem | Likely cause | What to do |
|---|---|---|
| The beef is still tough | Not cooked long enough yet | Keep cooking in the broth until tender before lifting it out. Judge by texture, not time |
| The paste smells burnt | Heat too high, or not stirred enough | Stir constantly and lower the heat. Fry until fragrant without letting the paste scorch |
| The gravy is thin | Not reduced enough | Keep simmering gently and stirring until it thickens |
| Not enough broth for the gravy | The broth was discarded or replaced | Next time, keep all of the beef broth in the pot in step 5; this recipe does not top up with fresh water |
| The gravy tastes like plain soy-sauce stew | Regular soy sauce used in place of kecap manis | Use kecap manis; its sweetness and thickness are part of the dish |
| The aroma is different | Ginger used in place of kencur or galangal | Look for kencur and galangal by name; ginger gives a different aroma |
Other Versions of Nasi Gandul
Nasi gandul is not a single fixed formula, and recipes differ a lot. A version on detikJateng, which credits a cookbook by Bunda Nina, uses tetelan (beef trimmings), two kinds of coconut milk and terasi. A version from Royco Indonesia includes stock and kluwek. These are separate recipes with different seasoning. This article does not mix their ingredients, amounts or steps into the one above. If you try one of them, follow it as written.
Pati, Gajahmati and the Story Behind "Gandul"
The Central Java provincial government describes nasi gandul as a specialty of Pati: rice served with beef in a rich gravy. The same article passes on an explanation of the name. Konon, "so it is said," sellers once carried the food on a pikulan, a carrying pole, with the load hanging from it, and gandul is linked to hanging. The article offers this as a story, not a settled etymology, and we pass it on the same way.
Statistics Indonesia's office for Pati Regency (BPS Pati) also links the dish to Pati, and especially to Gajahmati. That is a regional association. It does not prove a single birthplace or a particular cooking technique.
Frequently Asked Questions
Is the origin of the name "gandul" settled?
No. The Central Java provincial government article ties the name to food carried hanging from a pikulan, a carrying pole, but presents it as something that is "said" (konon). Treat it as a traditional story, not a proven origin.
Which cut of beef should I use?
ResepKoki's recipe only says beef. We suggest a cut sold for stewing because it is easy to buy, but that is our suggestion, not part of the recipe.
Can I use ordinary soy sauce instead of kecap manis?
Ordinary soy sauce, Japanese dark soy sauce included, is not the same product. Kecap manis is sweet and thick, and a straight swap changes the dish. It is worth finding kecap manis by name at an Asian grocer.
Is the coconut milk added in two stages?
Not in this recipe. ResepKoki's version adds 250 ml of coconut milk once, after the beef goes back into its broth. The detikJateng version uses two kinds of coconut milk, but that is a different recipe.
Are the fried shallots essential?
ResepKoki's recipe finishes the dish with fried shallots, but you can leave them out. Buy a ready-made pack; there is no need to fry shallots at home for this dish.
How long does it take, and how many does it serve?
ResepKoki lists 4 portions and about 120 minutes. These are the site's estimates. The recipe gives no fixed times for boiling the beef or reducing the gravy, so go by tenderness and thickness.
Why are there two separate teaspoons of salt?
ResepKoki's ingredient list includes salt twice, 1 teaspoon each. One portion goes into the spice paste. Using the other in the beef-boiling water is our editorial choice to link the steps. Keep the two teaspoons separate rather than adding them together.
Sources
- ResepKoki, "Resep Nasi Gandul." The recipe followed in this article, published directly on ResepKoki: 4 portions and an estimated 120 minutes, the ingredients and amounts, and the method from boiling the beef to serving with rice and fried shallots. The page also shows the Instagram handle @tiyarahmatiya, whose role it does not specify, and senior editor Atsarina Luthfiyyah. https://resepkoki.id/resep/resep-nasi-gandul/
- Pemerintah Provinsi Jawa Tengah, "Maknyusnya Nasi Gandul Khas Pati." The dish as a Pati specialty, and the story (konon) linking the name to food carried on a pikulan. https://jatengprov.go.id/beritadaerah/maknyusnya-nasi-gandul-khas-pati/
- Badan Pusat Statistik Kabupaten Pati, "KaLiStik (Edisi 13 November 2025)." The dish's regional association with Pati Regency, especially Gajahmati. https://patikab.bps.go.id/id/news/2025/11/13/1460/kalistik--edisi-13-november-2025-.html
- Royco Indonesia, "Nasi Gandul Khas Pati." A separate recipe with different seasoning, cited as an example of other versions. https://www.royco.co.id/r/nasi-gandul-khas-pati.html/241686
- detikJateng, "Resep Nasi Gandul Khas Pati yang Dagingnya Lembut dan Bumbunya Meresap." A separate recipe credited to Bunda Nina's cookbook 120 Resep Hitz di Instagram-Resep Favorit Keluarga, cited as an example of other versions. https://www.detik.com/jateng/kuliner/d-8113100/resep-nasi-gandul-khas-pati-yang-dagingnya-lembut-dan-bumbunya-meresap
- Ministry of Health, Labour and Welfare (Japan), "食中毒予防:お肉はよく加熱して食べよう" (Preventing food poisoning: cook meat thoroughly). The general guideline of 75°C at the center for at least 1 minute, refrigerating raw meat, and preventing cross-contamination. https://www.mhlw.go.jp/stf/web_magazine/closeup/08.html

































