Romanian Sour Meatball Soup
Romanian sour meatball soup turns simple ground meat, rice, vegetables, and bright sour broth into a cozy bowl with tender meatballs and fresh herbs.
This classic ciorbă de perișoare tastes hearty, light, and deeply comforting at the same time. The rice keeps the meatballs soft, the vegetables sweeten the broth, and the lemon juice or bors gives every spoonful that lively sour finish.
Why You’ll Love This Recipe
- Big flavor from simple ingredients: Ground meat, rice, broth, and everyday vegetables make a full pot with real depth.
- Tender meatballs: The rice cooks inside the meatballs and keeps them soft without extra breadcrumbs.
- Bright and fresh: Lemon juice or bors cuts through the richness and makes the soup taste clean and lively.
- Great for meal prep: The flavor gets even better after a few hours in the fridge.
Fabian’s Budget and Health Tip: Use ground turkey or a half pork and half turkey mix if you want a lighter soup that still tastes rich. If celery root costs too much, use extra carrots and a rib of celery. You still get a sweet, aromatic broth without spending more.
Ingredients (Serves 4)
For the Meatballs
- 1 pound ground pork, beef, or turkey (450 g)
- ¼ cup uncooked white rice, rinsed (50 g)
- 1 large egg (50 g)
- 2 tablespoons finely chopped parsley (8 g)
- ¾ teaspoon salt (4 g)
- ½ teaspoon black pepper (1 g)
For the Soup
- 8 cups chicken, beef, or vegetable broth (1.9 liters)
- 1 medium onion, finely chopped (150 g)
- 2 medium carrots, diced (200 g)
- 1 cup diced celery root (150 g)
- 1 medium bell pepper, diced (150 g)
- 1 cup chopped tomatoes or crushed tomatoes (250 g)
- 3 to 4 tablespoons fresh lemon juice, or 1 and ½ cups bors (45 to 60 ml lemon juice, or 360 ml bors)
- ¼ cup chopped fresh lovage (10 g)
- ¼ cup chopped fresh parsley (10 g)
- Salt, to taste
- Black pepper, to taste
Step-by-Step Instructions
1. Mix the Meatballs
Add the ground meat, rinsed rice, egg, parsley, salt, and black pepper to a bowl. Mix gently with your hands until everything just comes together. The mixture should feel soft but hold its shape when pressed.
Do not squeeze it too much. Overmixing makes the meatballs dense instead of tender.
2. Shape Small Meatballs
Wet your hands with cold water and roll the mixture into small meatballs, about 1 inch wide. You should get about 24 to 28 meatballs.
Place them on a plate while you start the broth. The rice will still be firm at this point, and that is exactly right.
3. Simmer the Vegetables
Pour the broth into a large soup pot and bring it to a gentle boil. Add the onion, carrots, celery root, bell pepper, and tomatoes.
Lower the heat and simmer for 10 minutes, until the broth smells sweet and savory and the carrots begin to soften around the edges. The broth should bubble gently, not roll hard.
4. Add the Meatballs
Slide the meatballs into the pot one at a time. Keep the soup at a gentle simmer so the meatballs stay round and tender.
Cook for 18 to 22 minutes, until the meatballs float, the rice inside looks swollen, and the vegetables are tender. Cut one meatball open if you are unsure. The center should be fully cooked with no pink meat.
5. Sour the Soup
Add the lemon juice or bors gradually. Start with less, stir, and taste. The soup should taste bright and pleasantly sour, but not sharp.
Simmer for 3 more minutes so the sour flavor blends into the broth. If using bors, bring the soup back to a gentle simmer after adding it.
6. Finish with Lovage and Parsley
Turn off the heat and stir in the lovage and parsley. Let the soup rest for 5 minutes before serving.
The herbs should smell fresh and grassy, and the broth should taste savory, tangy, and balanced.
Expert Troubleshooting and FAQs
Can I use turkey instead of pork or beef?
Yes. Ground turkey works well and makes a lighter Romanian sour meatball soup. Choose turkey with a little fat if possible, since very lean turkey can make the meatballs firmer.
Why are my meatballs falling apart?
The soup may be boiling too hard, or the meat mixture may be too wet. Keep the broth at a gentle simmer. If your mixture feels loose before shaping, chill it for 15 minutes or add 1 extra tablespoon of rinsed rice.
Do I have to use bors?
No. Bors gives the most traditional sour flavor, but fresh lemon juice works beautifully and is easy to find. Add it slowly so you can control the brightness.
Can I make this soup ahead?
Yes. Cool the soup, then store it in an airtight container in the fridge for up to 3 days. Reheat it gently on the stove so the meatballs stay tender.
Can I freeze Romanian sour meatball soup?
Yes, but the rice in the meatballs may soften more after thawing. Freeze in portions for up to 2 months. Thaw overnight in the fridge and warm slowly over medium low heat.
Estimated Nutritional Facts
Per serving, based on ground turkey and lemon juice:
- Calories: about 315
- Protein: about 27 g
- Carbs: about 24 g
- Fats: about 12 g
Romanian Sour Meatball Soup

Ingredients
- 1 pound ground pork, beef, or turkey (450 g)
- ¼ cup uncooked white rice, rinsed (50 g)
- 1 large egg (50 g)
- 2 tablespoons finely chopped parsley (8 g)
- ¾ teaspoon salt (4 g)
- ½ teaspoon black pepper (1 g)
- 8 cups chicken, beef, or vegetable broth (1.9 liters)
- 1 medium onion, finely chopped (150 g)
- 2 medium carrots, diced (200 g)
- 1 cup diced celery root (150 g)
- 1 medium bell pepper, diced (150 g)
- 1 cup chopped tomatoes or crushed tomatoes (250 g)
- 3 to 4 tablespoons fresh lemon juice, or 1 and ½ cups bors (45 to 60 ml lemon juice, or 360 ml bors)
- ¼ cup chopped fresh lovage (10 g)
- ¼ cup chopped fresh parsley (10 g)
- Salt, to taste
- Black pepper, to taste
Instructions
- 1. Mix the Meatballs. Add the ground meat, rinsed rice, egg, parsley, salt, and black pepper to a bowl. Mix gently with your hands until everything just comes together. The mixture should feel soft but hold its shape when pressed. Do not squeeze it too much. Overmixing makes the meatballs dense instead of tender.
- 2. Shape Small Meatballs. Wet your hands with cold water and roll the mixture into small meatballs, about 1 inch wide. You should get about 24 to 28 meatballs. Place them on a plate while you start the broth. The rice will still be firm at this point, and that is exactly right.
- 3. Simmer the Vegetables. Pour the broth into a large soup pot and bring it to a gentle boil. Add the onion, carrots, celery root, bell pepper, and tomatoes. Lower the heat and simmer for 10 minutes, until the broth smells sweet and savory and the carrots begin to soften around the edges. The broth should bubble gently, not roll hard.
- 4. Add the Meatballs. Slide the meatballs into the pot one at a time. Keep the soup at a gentle simmer so the meatballs stay round and tender. Cook for 18 to 22 minutes, until the meatballs float, the rice inside looks swollen, and the vegetables are tender. Cut one meatball open if you are unsure. The center should be fully cooked with no pink meat.
- 5. Sour the Soup. Add the lemon juice or bors gradually. Start with less, stir, and taste. The soup should taste bright and pleasantly sour, but not sharp. Simmer for 3 more minutes so the sour flavor blends into the broth. If using bors, bring the soup back to a gentle simmer after adding it.
- 6. Finish with Lovage and Parsley. Turn off the heat and stir in the lovage and parsley. Let the soup rest for 5 minutes before serving. The herbs should smell fresh and grassy, and the broth should taste savory, tangy, and balanced.









