afoona
Soups

Iraqi Tomato Soup Kubbeh with homemade tomato paste

Classic Iraqi tomato soup kubbeh — semolina dumplings stuffed with meat in a tangy tomato sauce

⏱ 5 hr 12 min🍽 4 servings 🌍 Middle Eastern👩‍🍳 Afoona🧩 3 parts

👨‍🍳 Method

For the homemade tomato paste ✓ Homemade · or skip – back to store-bought

  1. 1
    Wash the tomatoes, remove the cores and quarter each tomato.
    KnifeCutting board
  2. 2
    Put the tomatoes, the salt and half of the olive oil in a wide pot, cover and cook over medium heat about 20 minutes, until the tomatoes soften and release their liquid.
    StoveWide, shallow pot
  3. 3
    Pass the tomatoes and their liquid through a food mill or sieve and return the purée to the pot: the skins and seeds stay behind.
    Food millorFine sieve
  4. 4
    Cook uncovered about an hour at a lively simmer, stirring now and then, until the purée reduces by half.
    StoveWooden spoon
    💡The paste burns easily as it dries: stir and scrape the bottom and edges, and once it is thick, don't walk away.
  5. 5
    Preheat the oven to 110°C (230°F).
    Oven
    💡Put things in the oven only once it's reached temperature, after the heating light has gone off: an oven that hasn't reached temperature changes baking times, and the bake burns outside or stays underbaked.
  6. 6
    Grease a wide baking dish with the rest of the olive oil and pour in the purée in a thin layer. Dry in the oven about 3 hours, stirring and scraping the edges every 30 minutes, until the paste is thick, sticky and brick red.
    OvenBaking sheetSilicone spatula
  7. 7
    Let the paste cool.
    Jar

For the Kubbeh

  1. 8
    Heat the olive oil in a wide pan over medium heat.
    StoveFrying pan
  2. 9
    Add the onion and fry 5–8 minutes, stirring now and then, until the onion is soft and translucent and starts to turn golden at the edges. If it browns too fast, lower the heat.
    Stove
    💡Add by cooking time: what needs long (onion, carrot, meat) goes in first, and what burns fast (garlic, dry spices) goes in last, only until fragrant.
  3. 10
    Raise the heat to medium-high and add the meat. Press it flat over the bottom and leave it for 2–3 minutes without stirring, until a brown crust forms.
    Stove
    💡Brown ground beef in the pot without pressing it: leave it as one 'cake' for a few minutes until a brown crust forms, then break it into chunks. Deep browning = deep flavor.
  4. 11
    Break it up with a wooden spoon and fry for 5–7 more minutes, stirring, until no pink is left and the meat browns.
    StoveWooden spoon
  5. 12
    Add the cumin, salt and black pepper and fry another 1–2 minutes, until fragrant.
    Stove
  6. 13
    Remove from the heat and cool the filling completely, about half an hour.
    💡Fill dough only with completely cooled filling: a hot filling softens the dough, makes it hard to seal and makes the pastry soggy inside.
  7. 14
    Stir in the parsley.
    💡Fresh herbs and egg go only into a filling that has cooled: that way the herbs stay green, and the egg doesn't cook but binds the filling.
  8. 15
    Mix the semolina and salt in a bowl. Gradually add the water and Knead into a smooth, soft dough. Let rest 15 minutes.
    BowlStand mixer
    💡Resting lets the semolina absorb the water, so the dough becomes pliable and doesn't crack when you shape it.
  9. 16
    With wet hands, take a ball of dough the size of ping-pong ball, flatten it into a thin round, place a teaspoon of cooled filling in it and close into a ball.
    💡Wet hands don't stick to semolina dough, so you can shape a thin, even wall around the filling.
  10. 17
    Arrange the kubbeh on a tray in a single layer until the soup boils.

To assemble

  1. 18
    Heat the oil in a wide pot and sweat the onion in it for 3 minutes, until softened, without browning.
    StoveWide, shallow pot
  2. 19
    Add to the pot the water, garlic, tomatoes and tomato paste and bring to a boil.
    StoveWide, shallow pot
  3. 20
    Turn down the heat and simmer 20 minutes, until the soup takes on the tomato flavor.
    Stove
    💡A gentle simmer, not a boil: a hard boil dries the food out and clouds it, a slow simmer cooks it evenly.
  4. 21
    Stir in the lemon juice, sugar, salt and black pepper. Taste: the soup should be tangy. Adjust to taste.
    💡Balance at the end, once the flavors have come together: add sour, sweet and salty a little at a time, tasting between additions.
  5. 22
    Add the kubbeh to the boiling soup. Turn down the heat and simmer 25–30 minutes, until the kubbeh float and are cooked through.
    Stove
    💡Add the kubbeh only to soup that is already boiling, and don't stir with a spoon at first: in lukewarm liquid the dough softens and falls apart.
  6. 23
    Serve hot in bowls.
712calories
28 gprotein
78 gcarbs
30 gfat
● protein 16%● carbs 45%● fat 39%

Per serving, servings (calculated for this version)

A button hides that part of the recipe, in print too. Another click brings it back. The choice is kept for this recipe.

⚖ About the ingredients

🔧 Tools needed (5) · 🍳 2 cooking vessels

  • Stove · 💡 Workaround, changes the dish: Portable hot plate (one weaker burner) · Camping gas stove (One burner, outdoors) · Electric pressure cooker (multicooker) (One pot, no real shallow frying)
  • Frying pan · Also works: Wok (None) · 💡 Workaround, changes the dish: Pot (High sides, slow evaporation and weak browning)
  • Wide, shallow pot · Also works: Deep skillet (sauté pan) (None) · 💡 Workaround, changes the dish: Pot (Layers instead of a single layer)
  • Bowl · Also works: Pot (None)
  • Wooden spoon · Also works: Silicone spatula (None) · Spoon / teaspoon (regular) (a regular spoon gets hot)

Helps, not needed: Stand mixer

By the steps, as the recipe is built now: another version or addition can change the list.

🧩 Built from…

homemade tomato paste → Semolina Kubbeh → Fried onion → Ground beef fried with onion → Meat Filling → Sour Soup

🛒 Shopping list