Romanian Meatball Soup (Ciorba de Perisoare) Recipe
There’s something so comforting about a bowl of soup, especially when it’s packed with tender meatballs and bright, tangy flavors. That’s exactly what you get with this Romanian Meatball Soup (Ciorba de Perisoare) recipe. It’s a warm hug in food form, perfect for chilly days or anytime you need a little kitchen magic to lift your spirits. I love how the meatballs are tender but firm, soaked in a broth that’s both savory and a little zesty from the lemon—the brightness really makes it stand out from your typical meatball soups.
If you’ve never tried Romanian cuisine before, this is a fantastic entry point. The ingredients feel familiar, but the way they meld together in the soup gives you a taste that’s unique and deeply satisfying. Plus, I always enjoy making a big pot of this because it’s great for sharing and even better the next day. Trust me, once you make this Romanian Meatball Soup (Ciorba de Perisoare) recipe, it’ll be one you come back to again and again.
Ingredients You’ll Need
The ingredients for this Romanian Meatball Soup (Ciorba de Perisoare) recipe come together to create a perfect harmony of flavors and textures. Each component plays a role, from the fresh herbs in the meatballs to the bright acidity of lemon in the broth. Picking good-quality produce and broth will seriously enhance your final dish.
- Ground pork (or ground beef): I prefer pork here for its juiciness, but beef works well too—just avoid super lean, or the meatballs can get dry.
- Egg: Both in the meatballs and the soup itself, eggs help bind the meatballs and give the soup a silky texture after beating.
- Dill and Parsley: Fresh herbs brighten up the meatballs and soup, so don’t swap them out for dried unless absolutely necessary.
- Rice (long grain, uncooked): This is the secret to achieving that classic tender, slightly chewy texture inside the meatballs.
- Breadcrumbs: Helps bind the meatballs and keeps them from falling apart, especially when simmering in the broth.
- Olive oil: For sautéing the veggies; a good quality one adds a subtle richness.
- Onion, carrots, and celery: This classic mirepoix base builds depth in the soup’s flavor.
- Tomato paste: Adds just the right touch of umami and sweetness without overpowering the broth.
- Chicken broth (low sodium): Controls the salt so you can season precisely. Homemade or store-bought both work—just taste as you go.
- Water: Balances the broth for a lighter, more refreshing soup experience.
- Vegeta (or chicken bouillon): A staple seasoning in Romanian cooking—it deepens umami better than just salt alone.
- Lemon juice: The zesty kick that brightens everything up—don’t skip this!
- Lovage (chopped): If you can find it, it gives a slightly celery-like, fresh flavor that’s fantastic. Parsley is a good substitute.
- Parsley (for garnish): Adds fresh color and herbs at the end for a clean finish.

Variations
I love making this Romanian Meatball Soup (Ciorba de Perisoare) recipe my own by tweaking it depending on what I have on hand or the season. Feel free to play around — that’s one of the best parts of cooking!
- Vegetarian Version: Swap the meatballs for vegetarian “meatballs” made from cooked lentils and mushrooms. It’s surprisingly satisfying and a great twist when you want something lighter.
- Use Different Meats: I’ve made it with ground turkey before for a leaner option. Just add an extra tablespoon of olive oil to keep the meatballs moist.
- Spice it Up: Some crushed red pepper flakes stirred into the broth add a subtle heat that’s fantastic on cold days.
- Lovage Substitute: If you can’t find lovage, parsley or celery leaves are great alternatives that keep the herbal freshness.
How to Make Romanian Meatball Soup (Ciorba de Perisoare) Recipe
Step 1: Mix and Chill the Meatball Mixture
Start by combining your ground pork, egg, chopped dill, parsley, rice, breadcrumbs, salt, and pepper in a mixing bowl. I recommend mixing gently by hand to evenly combine without overworking the meat, which can make meatballs tough. Once mixed, cover and let it chill in the fridge for about 20-30 minutes. This rest helps the rice soften a bit and lets flavors meld — trust me, this little wait is worth it for tender meatballs that hold together beautifully when cooking.
Step 2: Sauté the Vegetables for the Soup Base
While the meatball mixture chills, heat your olive oil in a large pot over medium heat. Toss in the chopped onion, carrots, and celery, sprinkling with salt and pepper as they cook. Stir occasionally until the veggies are softened and fragrant — usually about 5-7 minutes. This step creates a flavorful foundation you’ll taste in every spoonful. Don’t rush it, and don’t brown the veggies too much; you want them sweet and tender.
Step 3: Add Tomato Paste and Liquids
Stir in the tomato paste and cook it with the vegetables for 2 minutes to deepen the flavor. Then pour in the chicken broth and water along with the vegeta or chicken bouillon. Bring everything to a gentle simmer. This combination creates the rich, balanced broth that makes this soup so addictive.
Step 4: Shape and Simmer the Meatballs
Using wet hands to prevent sticking, form your meat mixture into small, bite-sized meatballs—about the size of a walnut works best. Drop them carefully into the simmering broth. You want to keep the heat to a gentle simmer (not a rolling boil) as the meatballs cook for about 20 minutes. This gentle cooking helps them stay tender and prevents them from breaking apart. Stir gently now and then.
Step 5: Finish with Egg, Lemon, and Lovage
In a small bowl, beat the egg. Temper it by slowly mixing a ladle of hot soup broth into the egg, then stir this mixture back into the pot. This technique helps thicken the soup and adds a lovely silkiness. Then, stir in the lemon juice to brighten all the flavors. Sprinkle in the chopped lovage (or parsley) at the end for that fresh herbal note. Give everything one last gentle stir and your soup is ready!
How to Serve Romanian Meatball Soup (Ciorba de Perisoare) Recipe

Garnishes
I always finish my bowl of this soup with a generous sprinkle of fresh parsley—it adds a pop of color and a burst of freshness. Sometimes I add a dollop of sour cream or Greek yogurt when serving; it’s not traditional, but it lends a pleasant creaminess that balances the lemon’s tartness beautifully. A few crusty bread slices on the side soak up every drop, making it a truly satisfying meal.
Side Dishes
I usually pair this with some fresh, crusty bread or a warm baguette. In Romania, it’s common to enjoy a side of pickled vegetables, like cucumbers or peppers, which add a nice tangy crunch that complements the soup. If you want to keep it simple, a fresh green salad with a lemon vinaigrette also works beautifully alongside this soup.
Creative Ways to Present
For special occasions, I love serving this soup in pretty bowls with a sprinkle of edible flowers or microgreens on top for a delicate, colorful touch. Another fun idea is layering the soup in small glass jars for a beautiful presentation at a dinner party. It’s unexpected, and guests always ask for the recipe!
Make Ahead and Storage
Storing Leftovers
I love making this soup in big batches because leftovers taste incredible. Once cooled, I store the soup in airtight containers in the fridge for up to 3 days. When you reheat, do so gently on the stove—avoid boiling it again to keep the meatballs tender and prevent the broth from becoming cloudy.
Freezing
Freezing works well if you want to prep in advance. I freeze the soup without the lemon juice and egg mixture, adding those fresh when reheating for the best flavor and texture. Freeze in portion-sized containers and thaw overnight in the fridge before reheating slowly on the stove.
Reheating
When reheating, warm the soup gently in a saucepan over low heat. Stir occasionally and add the lemon juice and beaten egg mixture fresh if you didn’t include them before freezing. This way, you preserve all the soup’s brightness and that silky finish we love.
FAQs
-
Can I use other types of meat for the meatballs?
Absolutely! While ground pork is traditional and adds great flavor and juiciness, you can substitute ground beef, turkey, or even a mix. Just keep in mind that leaner meats may require extra moisture like a splash of broth or an extra egg to keep the meatballs tender.
-
What is vegeta, and can I substitute it?
Vegeta is a popular Eastern European seasoning blend of herbs and vegetables often used like bouillon. If you don’t have it, a good-quality chicken bouillon cube or powder works just fine. Adjust salt accordingly since bouillon can be salty.
-
Is lovage essential, or can I skip it?
Lovage adds a unique herbal note similar to celery leaves, but it’s not easy to find everywhere. You can substitute chopped fresh parsley or celery leaves with good results. It’s more about that fresh green touch in the finish than a strong flavor.
-
How do I prevent meatballs from falling apart in the soup?
Make sure the meatball mixture is well chilled before forming and dropping into the soup. Use the right balance of breadcrumbs and rice as binders, and keep the broth at a gentle simmer—not boiling. Stir gently to avoid breaking the meatballs.
-
Can I make this soup ahead of time?
Yes! In fact, the flavors deepen if you make it a day ahead. Store in the fridge and add fresh lemon juice and the beaten egg when reheating for the best taste and texture.
Final Thoughts
This Romanian Meatball Soup (Ciorba de Perisoare) recipe holds a special place in my heart because it captures the warmth and hospitality of Romanian kitchens in every spoonful. It’s such a joy to make and a real crowd-pleaser whether you’re feeding family or friends. I hope you enjoy this recipe as much as I do—it’s one of those dishes that feels like a cozy memory in the making.
PrintRomanian Meatball Soup (Ciorba de Perisoare) Recipe
Romanian Meatball Soup, known as Ciorba de Perisoare, is a traditional and comforting soup featuring tender pork meatballs simmered in a flavorful broth enriched with vegetables, herbs, and a touch of lemon juice for a bright, tangy finish. This hearty soup is typically enjoyed as a warming appetizer or a light main course.
- Prep Time: 20 minutes
- Cook Time: 35 minutes
- Total Time: 55 minutes
- Yield: 6 servings 1x
- Category: Soup
- Method: Stovetop
- Cuisine: Romanian
Ingredients
For Meatballs
- 1 pound ground pork (or ground beef)
- 1 large egg
- 2 tablespoons dill, chopped
- 2 tablespoons parsley, chopped
- 1/4 cup uncooked long grain rice
- 1/4 cup breadcrumbs
- 1/2 teaspoon salt (or to taste)
- 1/2 teaspoon black pepper (or to taste)
For Soup
- 2 tablespoons olive oil
- 1 large onion, chopped
- 2 large carrots, chopped
- 2 stalks celery, chopped
- 1/2 teaspoon salt (or to taste)
- 1/2 teaspoon black pepper (or to taste)
- 2 tablespoons tomato paste
- 4 cups low sodium chicken broth
- 4 cups water
- 1/2 teaspoon vegeta seasoning (or 1 chicken bouillon cube)
- 3 tablespoons lemon juice (from 1 lemon)
- 2 tablespoons lovage, chopped
- 1 egg, beaten
- Parsley for garnish
Instructions
- Prepare the Meatball Mixture: In a large bowl, combine the ground pork (or beef), large egg, chopped dill, chopped parsley, uncooked rice, breadcrumbs, salt, and black pepper. Mix thoroughly until all ingredients are evenly incorporated.
- Form the Meatballs: Shape the mixture into small, bite-sized meatballs, about 1 inch in diameter. Set aside on a plate while you prepare the soup base.
- Sauté the Vegetables: Heat olive oil in a large soup pot over medium heat. Add the chopped onion, carrots, and celery. Season with salt and black pepper. Cook for about 5-7 minutes, stirring occasionally, until the vegetables soften and the onion becomes translucent.
- Add Tomato Paste: Stir in the tomato paste and cook for another 2-3 minutes to release its flavors into the vegetable mixture.
- Add Broth and Water: Pour in the chicken broth and water. Add the vegeta seasoning (or chicken bouillon). Bring the liquid to a gentle boil.
- Cook the Meatballs in the Soup: Carefully drop the prepared meatballs into the simmering broth. Reduce heat to medium-low and cook uncovered for about 25 minutes, or until the meatballs are cooked through and the rice inside is tender.
- Finish with Lemon and Lovage: Stir in the lemon juice and chopped lovage. This step adds a distinctive, fresh tang to the soup.
- Temper and Add the Beaten Egg: Slowly pour some hot soup broth into the beaten egg while stirring constantly to temper the egg. Then gradually stir the tempered egg mixture back into the soup, cooking for an additional 2 minutes, which adds richness and slightly thickens the broth.
- Serve and Garnish: Ladle the soup into bowls and garnish with fresh parsley. Serve hot for the best experience.
Notes
- The rice in the meatballs helps bind them and adds texture; make sure to use uncooked rice for proper cooking inside the meatballs.
- Lovage can be substituted with celery leaves or additional parsley if unavailable.
- Adjust the seasoning to taste before serving, especially the salt and lemon juice for desired tanginess.
- For a lighter version, use ground turkey or chicken instead of pork or beef.
- You can omit the beaten egg step if you prefer a clearer broth.
Keywords: Romanian meatball soup, Ciorba de Perisoare, meatball soup, traditional Romanian soup, comfort food, soup with meatballs, sour soup
