Soups & Stews
This Armenian meatball soup recipe brings the heart of Yerevan to your kitchen with tender lamb bites simmered in a fragrant tomato-basil broth. The secret lies in the spice blend—warm cinnamon, earthy allspice, and fresh parsley—that transforms simple ground lamb into flavor-packed meatballs.
I first discovered this dish during a trip to Armenia, where it’s a staple in family homes, served with warm lavash and fresh herbs.
The beauty of this soup is its balance—rich yet light, with meatballs that stay tender and a broth infused with tomatoes, garlic, and aromatic spices. Unlike heavy stews, this version relies on slow simmering to develop deep flavors without overpowering the natural taste of the lamb.
The result is a comforting bowl that’s perfect for chilly evenings or when you crave a dish with soul.
What makes this recipe special is its authenticity while remaining approachable for home cooks. No special equipment is needed—just a pot, a few spices, and patience.
The meatballs are formed by hand, ensuring they hold together as they simmer, while the broth absorbs all the flavors into a velvety, aromatic base. Serve with crusty bread or lavash to soak up every last drop.
For a modern twist, you can add a dollop of yogurt or fresh herbs like dill or mint on top, but the traditional version is already packed with flavor.
This soup tastes even better the next day, making it ideal for meal prep or feeding a crowd. Let’s bring a taste of Armenia to your table.
Ingredients for armenian meatball soup
Ground lamb, aromatic spices, and fresh herbs transform simple ingredients into soul-warming Armenian meatball soup.
| Ingredient | Amount | Notes |
|---|---|---|
| Ground Lamb 🐑 | 1 ½ lb | 80% lean, no additives |
| All-Purpose Flour 🌾 | ½ cup | For binding meatballs |
| Large Eggs 🥚 | 1 whole | Room temperature |
| Fresh Parsley 🌿 | ½ cup | Finely chopped, stems removed |
| Fresh Dill 🌿 | ¼ cup | Chopped, for garnish |
| Garlic Cloves 🧄 | 4 cloves | Minced, aromatic |
| Ground Cinnamon 🌶️ | 1 tsp | Earthy warmth |
| Ground Allspice 🌶️ | ½ tsp | Warm, peppery |
| Salt 🧂 | 1 ½ tsp | Kosher or sea |
| Black Pepper 🌶️ | ½ tsp | Freshly ground |
| Canned Crushed Tomatoes 🍅 | 28 oz | San Marzano preferred |
| Vegetable Oil 🫒 | ¼ cup | For frying meatballs |
| Fresh Basil 🌿 | ¼ cup | Torn, for broth |
| Onion 🧅 | 1 whole | Medium, diced |
| Water 💧 | 4 cups | For broth base |
The lamb is everything here—80% lean ground lamb from the butcher section (not pre-mixed) gives the best texture. Armenian markets or Middle Eastern grocers often carry it, but most regular supermarkets stock it too. Look for bright red color and avoid anything with additives. The San Marzano crushed tomatoes are worth the splurge—they’re sweeter and less acidic, which balances the spices perfectly. If you can’t find them, any high-quality canned tomatoes will work, just drain off excess liquid first. Fresh parsley and dill are non-negotiable for that bright, herbal finish—buy bunches and use half now, half later.
No fresh dill? Dried works at one-third the amount, but the flavor won’t be the same. Short on parsley? Cilantro or flat-leaf parsley are decent swaps. The meatballs need binding, so if you’re avoiding eggs, 1 tbsp ground flaxseed mixed with 3 tbsp water (let sit 5 minutes) works perfectly. For the tomatoes, if you’re using whole canned tomatoes, crush them by hand—that releases more flavor than a blender. The cinnamon and allspice are the soul of this dish—don’t skip them. They’re what make it Armenian, not just another meatball soup.
This soup tastes even better the next day—plan ahead. The meatballs keep 3 days in the fridge, the broth 4-5 days. Freeze portions for up to 3 months—just thaw overnight in the fridge. I always make a double batch because it’s perfect for lunches. Store the meatballs separately from the broth if you want to reheat them quickly. The broth reduces slightly overnight, so add half a cup of water when reheating if you prefer it less concentrated. Serve with warm lavash or crusty bread—it’s non-negotiable
Why You'll Love This Recipe
- No-Fuss Mixing: I swear by the flour-and-egg trick—just toss the lamb with a splash of water, then mix in the dry ingredients until it holds. No overworking, no stress, and those meatballs stay tender while still holding their shape. (Yes, even if my hands are sticky.)
- Herb-Packed Punch: That bright parsley-dill combo isn’t just garnish—it’s the soul of the dish. Freshly chopped, they bloom in the broth like a secret weapon, cutting through the richness of the lamb with a zing that makes every spoonful feel special.
- Weeknight Workhorse: This soup doubles as a meal prep MVP: assemble the meatballs ahead, freeze half, and thaw when needed. Or serve it at a potluck—it’s hearty enough for a crowd but still feels intentional, not like a last-minute scramble.
- Budget-Friendly Luxury: Ground lamb stretches further than you’d think, especially when paired with cheap pantry staples like onions and tomatoes. I’ve made this for $8 a serving, and it still feels like a restaurant-worthy dish—no guilt, just flavor. (My wallet thanks me.)
Step-by-step instructions for Armenian meatball soup
Here's how to craft this hearty soup with tender lamb meatballs and aromatic tomato broth.
Prepare the Spiced Lamb Meatballs
In a large bowl, combine the 1.5 lb ground lamb, 0.5 cup all-purpose flour, 1 whole large egg, 1 tsp ground cinnamon, 0.5 tsp ground allspice, 1.5 tsp salt, and 0.5 tsp black pepper. Using your hands, gently mix until just combined—don't overwork the mixture or the meatballs will become dense.
Shape the mixture into 1.5-inch meatballs (about 12-14 total). I press them gently between my palms to form smooth, round balls. Place them on a plate and refrigerate for 15 minutes while you prepare the broth. This resting time helps them hold their shape better when cooking.
Brown the Meatballs for Depth of Flavor
Heat 0.25 cup vegetable oil in a large Dutch oven over medium-high heat. Working in batches, add the meatballs and cook until golden brown on all sides (about 3-4 minutes per batch). Don't crowd the pan—this ensures they brown properly instead of steaming.
Remove the browned meatballs and set them aside. You'll notice the oil smells rich and aromatic—this is where the foundation of your soup's flavor begins. Keep the browned bits in the pot; they'll form the base of your tomato broth later.
Build the Aromatic Tomato-Basil Broth
In the same Dutch oven, add 1 whole diced onion and cook over medium heat for 5 minutes until softened. Stir in the 4 minced garlic cloves and cook for another 30 seconds until fragrant—you'll smell that unmistakable garlic aroma filling your kitchen.
Pour in the 28 oz canned crushed tomatoes and add the 4 cups water. Bring to a gentle simmer, then reduce heat to medium-low. Stir in the 0.25 cup fresh basil and let the broth cook uncovered for 15 minutes, stirring occasionally. This allows the flavors to meld while the broth reduces slightly in volume.
Simmer the Meatballs to Perfection
Return the browned meatballs to the pot and add the 0.5 cup finely chopped fresh parsley. Bring the mixture to a gentle simmer, then reduce heat to low. Cover and let it cook for 20-25 minutes, stirring occasionally, until the meatballs are tender throughout and the broth has thickened slightly.
Here's the thing—you want the meatballs to be just tender enough to pull apart slightly when pierced with a fork, but still maintain their shape. The broth should coat the back of a spoon when you lift it out. If it's too thin, uncover and simmer for another 5 minutes to reduce.
Finish with Fresh Herbs and Serve
Remove from heat and let the soup rest for 5 minutes to allow the flavors to settle. Taste and adjust seasoning if needed—you might want to add a pinch more salt or a crack of black pepper. Ladle the soup into bowls, garnishing each serving with 0.25 cup chopped fresh dill for a bright, herby finish.
Serve immediately with warm crusty bread to soak up every last drop of that fragrant tomato-basil broth. The meatballs should be juicy and infused with warm cinnamon and allspice, while the broth delivers a perfect balance of tangy tomatoes and fresh basil. This soup tastes even better the next day as the flavors continue to develop!
Pro Tips For Making Armenian Meatball Soup
- CHILL THE LAMB FIRST: Pull the ground lamb out of the fridge 30 minutes before mixing—cold meat releases more fat, and you’ll end up with greasy meatballs that fall apart. I learned this the hard way after making a batch where the soup turned into a lamb-fat stew. Let it sit, even if you’re eager to start.
- CHOP HERBS COARSELY: Skip the food processor for parsley and dill—tear them by hand into rough chunks. This keeps the texture bright and prevents the herbs from turning to mush as the soup simmers. (Yes, it looks less perfect, but it tastes better.)
- DON’T OVERMIX THE BATTER: Once you add flour and egg to the lamb, mix just until combined—overworking makes the meatballs dense and dry. Wet your hands slightly to shape them; the dough will be sticky, but resist the urge to add more flour. (Trust me, your future self will notice.)
- SIMMER LOW AND LONG: After dropping the meatballs in, reduce heat to a bare simmer—too much bubbling cooks them unevenly and toughens the edges. Cover and let them poach gently for 15-20 minutes, stirring once halfway. (This isn’t the time to rush.)
Pro cooking tips for this recipe
Brown for Flavor
Don’t skip browning the meatballs—this step builds deep, caramelized flavor that infuses the broth. Use medium-high heat and work in batches to avoid crowding. I like to brown them in a Dutch oven because it has enough capacity for both the initial sear and later simmering.
The golden crust releases into the broth, creating a rich, savory base that balances the bright tomato acidity. 🔥
Spice Balance
The cinnamon and allspice are the soul of this dish, but they need to harmonize with the tomatoes. Start with 1 tsp cinnamon and ½ tsp allspice, then taste the broth before serving. If you love warmth, add ¼ tsp more cinnamon—it enhances the lamb’s natural richness.
Too much can overpower, so adjust gradually. I’ve found that San Marzano tomatoes handle the spices better than other brands due to their natural sweetness.
Simmer Gently
Low and slow is key—simmer the meatballs at low heat for 20-25 minutes to avoid toughening. Cover the pot to trap steam, which keeps the meatballs moist. Stir occasionally to prevent sticking, especially if the broth reduces too much.
The goal is a velvety, slightly thickened broth that coats the meatballs without overwhelming them. If it’s too thin, uncover and simmer 5 more minutes to concentrate the flavors.
Herb Timing
Add fresh parsley at the end of cooking to preserve its bright flavor, but stir in basil earlier—it needs 15 minutes to infuse the broth. For garnish, I use ¼ cup chopped dill because its peppery note cuts through the richness.
If you’re short on herbs, ½ tsp dried dill works in a pinch, but fresh is irreplaceable. The herbs should be visible in the final dish, adding color and freshness to every spoonful.
Rest Before Serving
Let the soup rest for 5 minutes off the heat—this allows the meatballs to reabsorb juices and the flavors to meld. Skipping this step can leave the broth watery and the meatballs dry. I also recommend tasting before serving; the spices and salt often need a final adjustment.
Serve immediately with warm lavash or crusty bread to soak up the aromatic broth. The contrast of the bread’s crunch against the tender meatballs is pure comfort.
Make-Ahead Magic
This soup tastes even better the next day as the flavors deepen. Store it in an airtight container in the fridge for up to 4 days or freeze for 3 months. Reheat gently on the stovetop, adding ½ cup water if the broth seems too thick.
The meatballs stay juicy when reheated slowly, and the broth’s complexity grows with time. Double the batch—it’s perfect for meal prep or sharing with neighbors. ✨
Nutrition facts
Frequently asked questions
Can I use ground beef instead of lamb for this Armenian meatball soup?
Yes, you can substitute ground beef for lamb, but the flavor will differ slightly. Use 80% lean ground beef and consider adding ½ tsp more cinnamon to compensate for the milder taste. The texture will be similar, but lamb's richness is traditional and pairs beautifully with the warm spices. For a budget-friendly option, mix half lamb and half beef.
How do I prevent the meatballs from falling apart when simmering?
Keep the meatballs firm by not overmixing the ingredients and chilling them for 15 minutes before cooking. Use 0.5 cup flour as a binder—it's crucial for structure. Also, simmer at low heat and avoid boiling, which can break them down. If they start falling apart, reduce the heat immediately and add 1 tbsp cornstarch mixed with water to thicken the broth slightly.
What's the best way to store and reheat leftovers?
Store in an airtight container in the fridge for up to 4 days or freeze for 3 months. To reheat, warm gently on the stovetop over low heat—never microwave directly. Add ½ cup water if the broth seems too thick. The meatballs reheat best when submerged in broth to prevent drying out. The soup actually tastes better the next day as flavors meld!
Can I make this soup vegetarian?
While traditional Armenian meatball soup uses lamb, you can adapt it with mushroom or lentil "meatballs". Replace the lamb with 1.5 lb finely chopped mushrooms (like cremini or portobello) and ½ cup cooked lentils, mixed with the same spices. For binding, use 1 tbsp flaxseed meal + 3 tbsp water instead of egg. The flavor will be earthier but still aromatic with the spices and tomatoes.
Why does my broth taste too acidic?
This usually happens if the tomatoes are too acidic or the broth simmers too long. Balance it by adding 1 tsp sugar or ½ tsp more cinnamon—both help mellow the acidity. If the broth reduces too much, add ½ cup warm water and simmer 5 more minutes to dilute the acidity. For future batches, use San Marzano tomatoes (less acidic) and simmer uncovered for 15 minutes max before adding meatballs.
