Best Biryani in Bangkok
A real biryani is a 35–45 minute commitment from both the kitchen and the diner. Rice and meat layered in a heavy-bottomed pot, sealed and slow-cooked over low flame until the aroma fills the room. At BHARAT Flavours Of India in Huai Khwang we cook biryani the Hyderabadi dum way — from raw, on order, with bone-in halal goat, aged Punjabi basmati, and saffron-milk. No pre-cooked batches. No shortcuts. Be ready to wait 35–45 minutes for the right thing. (For our wider menu, see best Indian food in Bangkok and North Indian food in Bangkok.)
What "dum biryani" actually is
"Biryani" gets used loosely. In Bangkok, much of what is sold as biryani is actually pulao (rice cooked with spices and meat all together in one pot) or tahari (a quicker layered rice dish). Both are good. Neither is biryani.
Dum biryani is a specific technique:
- Meat marinated for hours — bone-in goat or chicken in yogurt, ginger, garlic, garam masala, mint, coriander.
- Rice par-boiled to 70% — aged basmati, soaked, drained, par-boiled with whole spices (cardamom, bay, clove, cinnamon, mace), then drained.
- Layered in a heavy pot — half the rice, all the meat, fried onions, mint, coriander, then the rest of the rice on top.
- Saffron-milk drizzled over the top layer, plus ghee.
- Sealed with dough (or a tight foil-and-lid combination) and cooked on low heat — dum means "steam pressure" — for 30-40 minutes.
- Opened at the table. The aroma when the seal breaks is the test.
Each grain of rice stays separate. The meat is tender enough to fall off the bone. The spices have layered into the rice. Bottom layer is slightly browned (the prized tahdig — literally “bottom of the pot” — in Persian-influenced versions).
Our biryani menu
We serve six biryanis, all dum-cooked from raw on order. The prices below are the dine-in prices you will also find on our full menu:
- Veg Biryani — ฿170. Mixed vegetables with cubes of fresh paneer, cashew and raisins folded into the layers. Substantial and aromatic, and part of our wider vegetarian Indian menu.
- Egg Biryani — ฿220. Two hard-boiled eggs, shallow-fried in spice so the outside takes a seasoned coat before they go into the rice. The lighter middle ground between veg and meat.
- Chicken Biryani — ฿260. Halal-marked chicken, bone-in by default because the bone keeps the meat moist; boneless if you ask when ordering. Hyderabadi-style.
- Fish Biryani — ฿310. Firm white fish, spice-rubbed and pan-seared, with curry leaf in the masala. Gentler spicing than the mutton.
- Mutton Biryani — ฿340. Halal-marked bone-in goat from our halal supplier. The biryani most diners come specifically for.
- Prawn Biryani — ฿340. Large prawns folded in partway through the dum so they finish in the steam and stay plump rather than turning rubbery.
Every biryani is served with:
- Raita — yogurt with cucumber, onion, and roasted cumin.
- Salan — the spiced peanut-and-sesame Hyderabadi gravy.
- Pickled onions — sliced raw onion in vinegar and chili.
No extra charge for the sides.
Why ours takes 35–45 minutes
Biryani has to be cooked on order if you want it done right. The shortcut version — pre-cooked rice and pre-cooked meat reheated to order — saves 30 minutes but loses everything that makes biryani great. The rice gets sticky. The meat dries out. The aroma is gone before it reaches your table.
We do not take this shortcut. When you order biryani at BHARAT:
- Minute 0: chef starts par-boiling rice while marinated meat goes into a heavy pot.
- Minute 10: rice drained, layered over meat with fried onions, herbs, saffron-milk, ghee.
- Minute 12: pot sealed — dough rim for large pots, tight foil-and-lid for single portions — and placed on low flame.
- Minute 12 onwards: dum cooking — the magic happens here.
- Minutes 35–45: seal broken at your table. The aroma is the proof.
If you are in a hurry, our Jeera Rice or Pulao comes out in 15 minutes and pairs beautifully with most of our curries. But if you came specifically for biryani, plan to wait — and order a tandoori starter so you have something to eat while the biryani cooks. A small butter chicken with a butter naan is a dependable "fill the wait" combination.
What separates ours from typical Bangkok biryani
1. Bone-in goat, not boneless
Most "mutton biryani" in Bangkok uses boneless mutton chunks. We use halal-marked bone-in goat from our halal supplier — the bone marrow adds flavour to the rice during the dum, and the meat stays moister around the bone. It is also closer to how biryani is served in Hyderabad.
2. Aged Punjabi basmati, not fresh
Aged basmati (at least 12 months old) loses moisture and cooks into longer, fluffier, separate grains. Fresh basmati cooks softer and clumpier. We pay more for aged grain because the difference is in every spoonful.
3. Saffron, not turmeric for colour
Real biryani gets its golden streaks from saffron-milk drizzled before sealing. Shortcut biryani uses turmeric or food colouring for the yellow. Saffron costs more and adds a delicate floral note that turmeric cannot replicate.
4. Sealed with dough
The traditional dum seal is a wheat-flour-and-water dough wrapped around the pot rim. We use this method for bigger biryani orders. For single portions we use a tight foil-and-lid combination that achieves the same effect at smaller scale.
5. No pre-cooked batches
Every biryani is dum-cooked on order. If you walk in and order one, the kitchen starts cooking it then. The 35–45 minute wait is the cost of doing it the right way.
Where we are
BHARAT is at 2055 New Phetchaburi Road, Huai Khwang, Bangkok 10310 — 2 minutes walk from Grand Mercure Bangkok Atrium and about 20 minutes' walk (5 minutes by taxi) from The Lancaster Bangkok. Open 9 AM to 11:30 PM, every day. Free parking at the Bangchak gas station next door.
ร้านอาหารอินเดีย ย่านห้วยขวาง กรุงเทพฯ ใกล้ MRT เพชรบุรี และ MRT พระราม 9 — ข้าวหมกไก่อินเดีย (บิรยานี) หุงสดตามสั่ง ใช้เวลา 35–45 นาที · เปิดทุกวัน 09:00–23:30 น.
Try our biryani (and plan to wait)
Best move: WhatsApp ahead and we will start cooking before you arrive. For a table of 2: one Mutton Biryani + one Paneer Butter Masala + one Butter Naan is the perfect order.
Frequently asked
What style of biryani do you serve — Hyderabadi or Lucknowi?
Primarily Hyderabadi-style — the meat and rice are layered raw (kachi-style) and dum-cooked together, with bone-in halal goat for the mutton version, served with salan. Lucknowi (Awadhi) style cooks the meat separately first and uses softer spicing — we do not currently serve that style.
Why does biryani take 35–45 minutes?
Because real dum biryani has to be cooked on order — par-boiled aged basmati and marinated meat are layered together, sealed, and cooked on low flame so the steam pressure (dum) does the work. Pre-cooked batches reheated to order saves time but loses the aroma and the rice-grain separation that define biryani. We do not take that shortcut. Order a tandoori starter while the biryani cooks so you have something to eat during the wait.
Is the mutton biryani halal?
Yes — halal-friendly. The goat is halal-marked bone-in goat from our halal supplier, and the chicken comes from halal-marked product lines. No pork in the kitchen, no alcohol in cooking. We are not CICOT-certified; how our kitchen actually works is set out on our halal page.
Will you really open the seal at the table?
Yes — for dine-in biryani we break the seal at your table. The aroma when the seal cracks is the test of a real dum biryani kitchen, and we want you to smell it the moment the pot opens. For takeaway and delivery we seal the container before it leaves the kitchen so the aroma stays trapped; open it at home for the same effect.
What comes with the biryani?
Every biryani is served with raita (yogurt with cucumber, onion, and roasted cumin), salan (the spiced peanut-and-sesame Hyderabadi gravy), and pickled onions (sliced raw onion in vinegar and chili). All three included at no extra charge.
Can I order biryani for delivery?
Yes. Use GrabFood or LINE MAN for smaller orders, and for direct orders over ฿1,000 we deliver anywhere in Bangkok ourselves, free of charge — message us on WhatsApp. Either way we seal the biryani in its container before it leaves the kitchen so the aroma stays trapped; open it at home for the same effect as the table seal. There is more detail on our delivery page.
What are your hours and where are you?
Open 9 AM to 11:30 PM, every day. We are at 2055 New Phetchaburi Road, Huai Khwang — a 2-minute walk from Grand Mercure Bangkok Atrium and about 20 minutes' walk (5 minutes by taxi) from The Lancaster Bangkok. Free parking at the Bangchak gas station next door.
How much does it cost?
฿170 for the Veg Biryani up to ฿340 for the Mutton or the Prawn. Comes with raita, salan, and pickled onions free. A single portion comfortably feeds 1-1.5 people; for 2 sharing, order one biryani plus one curry plus naan.