Iraqi White Bean Stew Recipe with Tomato and Herbs

Updated November 3, 2026

Total time
10 hr
prep 20 min · cook 1 hr 40 min
Serves
6
portions as written

Jump to recipe

Iraqi White Bean Stew Recipe with Tomato and Herbs

Iraqi white bean stew is a comforting pot of tender white beans simmered in a tomato, onion and garlic sauce with warm spices. It is often served over rice, and recipes vary between households; this meat-free version keeps the beans at the center and uses dried lime for a gently tangy, traditional note.

Ingredients

  • 2 cups (380 g) dried cannellini beans or other large white beans
  • 8 cups (1.9 L) water, for soaking
  • 8 cups (1.9 L) fresh water, for cooking the beans
  • 2 tablespoons (30 ml) olive oil
  • 1 large yellow onion, about 1½ cups (225 g) finely chopped
  • 5 garlic cloves, about 1½ tablespoons (15 g) minced
  • 1 can (28 oz / 794 g) crushed tomatoes
  • 2 cups (475 ml) bean cooking liquid, or water if needed
  • 1 teaspoon ground cumin
  • ½ teaspoon ground coriander
  • ¼ teaspoon ground cinnamon
  • 1 dried black lime, pierced in 2 or 3 places with a skewer, optional
  • 1½ teaspoons fine salt, divided, plus more to taste
  • ½ teaspoon freshly ground black pepper
  • 1 bay leaf
  • ¼ cup (15 g) chopped flat-leaf parsley
  • 1 tablespoon (15 ml) lemon juice, or to taste

Instructions

  1. Soak the beans. Pick through the dried beans and discard any shrivelled beans or small stones. Rinse them, put them in a large bowl and cover with 8 cups (1.9 L) cold water. Leave to soak for at least 8 hours. Drain and rinse before cooking. If your kitchen is warm, soak them in the refrigerator.
  2. Simmer until tender. Put the drained beans in a large pot and add 8 cups (1.9 L) fresh water. Bring to a boil, then lower the heat to maintain a gentle simmer. Skim off any foam during the first few minutes. Cook uncovered for about 65–75 minutes, stirring occasionally, until the beans are creamy inside but still hold their shape. Add water if they are not covered. Drain the beans, reserving 2 cups (475 ml) of the cooking liquid. The exact time depends on the beans’ age; if they are still firm, keep simmering and check every 10 minutes.
  3. Build the tomato base. While the beans cook, warm the olive oil in a heavy pot or Dutch oven over medium heat. Add the onion and cook for 7–9 minutes, stirring often, until soft and translucent without browning deeply. Stir in the garlic, cumin, coriander, cinnamon and black pepper. Cook for 30 seconds, just until fragrant; take care not to let the garlic scorch.
  4. Simmer the sauce. Add the crushed tomatoes, bay leaf, dried black lime if using, and 1 cup (240 ml) of the reserved bean liquid. Stir, bring the mixture to a gentle bubble, then lower the heat and simmer uncovered for 15 minutes. Stir occasionally so the tomato does not catch on the bottom. The sauce should look slightly thickened but remain loose enough to coat the beans.
  5. Finish the stew. Add the cooked beans, 1 teaspoon of the salt and another ½ cup (120 ml) bean liquid. Simmer gently for 10–15 minutes, stirring carefully so the beans stay whole. Add more reserved liquid a little at a time if the stew becomes too thick. Remove the bay leaf and dried lime, then taste and add the remaining salt as needed.
  6. Season and serve. Stir in the parsley and lemon juice. Taste again: add a little more lemon for brightness, pepper for warmth or bean liquid to loosen the sauce. Let the stew stand for 5 minutes so the flavors settle, then spoon it over rice or serve it in bowls with bread.

Tips

  • Check the beans before adding tomato. Beans need to become tender before they meet the acidic tomato sauce, since acidity can slow softening. If they remain chalky or firm after the stated time, continue simmering them in plain water rather than hoping they will soften in the stew.
  • Use a gentle simmer. A hard boil can split the skins and make the liquid cloudy. Keep the surface at a quiet bubble, and stir the beans with a broad spoon instead of vigorously scraping the pot.
  • Choose a practical substitute for dried lime. Dried black lime, also called loomi, has a distinct sour, earthy aroma and is sold in some Middle Eastern grocery shops. If unavailable, omit it and finish with lemon juice and a little finely grated lemon zest; the stew will taste brighter and less earthy, but still balanced.
  • Shorten the preparation with canned beans. For a quicker version, use three 15-ounce (425 g) cans of drained, rinsed white beans. Skip soaking and the separate bean simmer; add the canned beans with 1½ cups (355 ml) water or vegetable stock and simmer the tomato base with them for 20 minutes. Canned beans are softer, so stir gently.

Serving Suggestions

Serve the stew hot over plain basmati or another long-grain rice, allowing the tomato sauce to run into the grains. A platter of rice makes the beans feel like a complete meal, while bowls of stew with flatbread are convenient for scooping up every bit of sauce. If serving bread, choose a sturdy pita or other soft flatbread and warm it briefly before bringing it to the table.

Set out extra lemon wedges, chopped parsley and black pepper so everyone can adjust their bowl. A simple cucumber and tomato salad, dressed with lemon and a little olive oil, adds a cool, crisp contrast. Pickled turnips or other sharp pickles also work well alongside the stew, especially if the tomato sauce is rich and thick. For a fuller spread, add roasted vegetables or a small bowl of olives without making the meal feel complicated.

Variations

Make it with a different white bean. Great Northern beans, navy beans or butter beans can replace cannellini beans. Smaller navy beans may cook sooner, while butter beans are softer and more delicate; begin checking them early and fold them into the sauce gently. The flavor remains mild, although the texture and final thickness will change slightly.

Adjust the spice profile. The cumin, coriander and cinnamon here give the sauce warmth without making it hot. For a deeper, more aromatic version, add ¼ teaspoon ground allspice with the other spices. For heat, add a pinch of red pepper flakes when cooking the garlic. Keep the additions modest so they support, rather than cover, the beans and tomato.

Make the stew more brothy or thicker. Add reserved cooking liquid a few tablespoons at a time for a looser, spoonable broth. For a thicker result, mash a small ladleful of beans against the side of the pot and stir them back in. This thickens the sauce naturally without flour or cream. Avoid reducing it too far if you plan to serve it over rice, which will absorb some liquid.

Use vegetable stock for added savoriness. Replace some or all of the liquid added to the tomato base with low-sodium vegetable stock. Taste before adding the full amount of salt, because stock can already be salty. This is a useful variation when you have no bean cooking liquid, though the original bean water gives the sauce a particularly cohesive texture.

Storage and Reheating

Cool the stew promptly and refrigerate it within 2 hours of cooking in a covered, shallow container. It keeps for 3–4 days in the refrigerator. The sauce thickens as it stands, and the beans absorb some liquid, so store a little extra water or stock to loosen it when reheating.

Reheat only the portion you plan to eat in a saucepan over medium-low heat, stirring occasionally and adding a splash of water or stock until it reaches the texture you want. Heat leftovers to 165°F (74°C), checking with a food thermometer. You can also microwave a covered portion, stirring halfway through and checking that it is steaming evenly and has reached 165°F (74°C). Freeze cooled stew in airtight freezer-safe containers for up to 3 months for best quality. Thaw it overnight in the refrigerator and reheat thoroughly; the beans may soften slightly after freezing, but the flavor holds up well.

Frequently Asked Questions

Can I make Iraqi white bean stew without soaking the beans?
Yes, but unsoaked beans take longer and may cook less evenly. If you skip soaking, rinse the beans and simmer them in fresh water until completely tender before adding tomato; allow extra time and keep checking the water level. The timing in this recipe assumes an 8-hour soak.

How do I know when the white beans are cooked?
Take one bean from the pot and let it cool enough to taste. It should be creamy all the way through, with no hard or chalky center, while still holding its shape. Check a few beans because some may soften sooner than others, especially if the beans are different sizes or ages.

Can I use canned beans instead of dried?
Yes. Use three 15-ounce (425 g) cans, drained and rinsed, and follow the canned-bean method in the Tips section. Since canned beans are already cooked, they need only a short simmer in the tomato sauce to take on flavor. Add liquid gradually so the finished stew does not become watery.

What can I use if I cannot find dried black lime?
You can simply leave it out and add lemon juice at the end. A small amount of finely grated lemon zest can add fragrance, too. Fresh lemon gives a cleaner, sharper acidity than dried black lime, so add it little by little and taste rather than replacing the lime with a large amount all at once.

Why is my stew too thick after it has been refrigerated?
The beans continue to absorb liquid as the stew cools, so a thick texture is normal. Stir in water, vegetable stock or reserved bean liquid while reheating, a tablespoon or two at a time. Once hot, taste for salt and lemon again, since both can seem less pronounced after chilling.

Can I prepare the stew ahead?
Yes. The beans and tomato sauce can be cooked a day ahead, cooled and refrigerated separately or together. Reheat gently until the whole dish reaches 165°F (74°C), then loosen the sauce if needed and add fresh parsley and lemon just before serving. Making it ahead can also give the spices time to mingle, though the beans will continue to absorb sauce.

Related

More recipes to cook

Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes

Spotted an error? Tell us and we will correct it (corrections policy).