Soups · Published August 28, 2026

Homemade Meatball Soup with Potatoes and Fresh Dill

5 from 1 rating

A hearty, clear-broth meatball soup with tender beef meatballs, potato chunks, carrots, and a generous handful of fresh dill. Simple, comforting, and ready in just over an hour.

Prep time 25 min
Cook time 40 min
Total time 1 hr 5 min
Servings 6
Cuisine European
Jump to Recipe

This meatball soup is the kind of recipe that asks almost nothing of you and gives back a great deal. The broth is clear and clean-tasting, built from sautéed onion, carrot, and a small amount of tomato paste that gives it the warm golden color without pushing it into tomato soup territory. The meatballs are made from ground beef seasoned simply with grated onion, garlic, egg, and breadcrumbs, and they go directly into the simmering broth raw – no browning step, no extra pan to wash. Potatoes go in at the same time and the whole thing is done in under an hour. Fresh dill stirred in just before serving is what ties it together.

The grated onion in the meatball mixture is worth mentioning specifically. Finely diced onion stays in distinct pieces inside the meatball and can create dry spots. Grated onion dissolves into the meat, keeping every meatball moist all the way through and distributing the flavor evenly. Use the fine side of a box grater, squeeze out a little of the liquid if it seems very wet, and the texture of the finished meatball will be noticeably better.

The most common mistake with this kind of soup is overworking the meat mixture. Mix until the ingredients are just combined – ten or fifteen seconds with your hands – and stop. Overworked ground beef tightens up as it cooks and produces a meatball that is dense and rubbery rather than tender. The other common issue is rolling the meatballs too small, which makes them fall apart in the broth before the potatoes are done. Aim for meatballs about 3-4 cm (1.5 inches) in diameter – roughly the size of a large walnut.

Dropping the meatballs raw into a simmering broth rather than browning them first keeps the broth clear and light. If you prefer more color and a slightly richer flavor on the meatballs, sear them first in a hot skillet with a tablespoon of oil for 2-3 minutes before adding them to the soup. Both approaches work – the raw-drop method is more traditional in Eastern European cooking and produces a cleaner result.

For another hearty Eastern European soup in a similar spirit, our Ukrainian Homemade Borscht uses the same simple, vegetable-forward approach but builds its broth from beef on the bone with beets and cabbage. And if you enjoy one-pot soups with meat and pasta, our Tortellini Soup with Sausage and Spinach follows a similar logic with Italian flavors.

Ingredients for Homemade Meatball Soup with Potatoes and Fresh Dill

  • For the meatballs:
  • 600g (1.3 lb) ground beef (or a mix of beef and pork)
  • 1 small onion, finely grated
  • 2 garlic cloves, finely minced
  • 1 egg
  • 3 tablespoons breadcrumbs
  • 1 teaspoon salt
  • 1/2 teaspoon black pepper
  • For the soup:
  • 1 tablespoon sunflower oil or olive oil
  • 1 medium onion, finely diced
  • 2 medium carrots, peeled and diced into small cubes
  • 2 tablespoons tomato paste
  • 1.5 liters (6 cups) beef broth or chicken broth
  • 500ml (2 cups) water
  • 4 medium potatoes (about 500g / 1.1 lb), peeled and cut into 2 cm (0.8 inch) cubes
  • 2 bay leaves
  • Salt and black pepper, to taste
  • Large bunch of fresh dill, roughly chopped, for serving

How to Make Homemade Meatball Soup with Potatoes and Fresh Dill

  1. 1

    Make the meatball mixture: combine the ground beef, grated onion, minced garlic, egg, breadcrumbs, salt, and pepper in a bowl. Mix briefly with your hands until just combined - do not overwork. Cover and refrigerate while you build the soup base.

  2. 2

    Heat the oil in a large heavy pot over medium heat (about 175°C / 350°F). Add the diced onion and cook for 5-6 minutes until softened. Add the diced carrots and cook for another 3-4 minutes.

  3. 3

    Add the tomato paste and stir into the vegetables. Cook for 1-2 minutes until the paste darkens slightly and smells fragrant.

  4. 4

    Pour in the broth and water. Add the bay leaves and bring to a gentle simmer (about 90°C / 195°F). Season with salt and pepper.

  5. 5

    Remove the meatball mixture from the refrigerator. With wet hands, roll it into balls about 3-4 cm (1.5 inches) in diameter - roughly the size of a large walnut. You should get about 24-28 meatballs.

  6. 6

    Carefully drop the meatballs one by one into the simmering broth. Add the potato cubes at the same time. Do not stir for the first 3-4 minutes while the meatballs set.

  7. 7

    Simmer uncovered for 20-25 minutes until the meatballs are cooked through and the potatoes are tender when pierced with a knife. Skim any foam from the surface in the first few minutes of cooking.

  8. 8

    Remove the bay leaves. Taste and adjust salt and pepper. Remove from the heat and stir in the chopped fresh dill.

  9. 9

    Ladle into bowls and serve immediately with crusty bread.

Nutrition (per serving)

Calories 420
Fat 22g
Carbs 25g
Protein 24g

Where the calories come from

  • Carbs 25g · 25%
  • Protein 24g · 24%
  • Fat 22g · 50%

Nutrition Disclosure

Tips & FAQ

How do I stop the meatballs from falling apart in the broth?
Three things help. First, do not skip the egg - it binds the mixture. Second, do not overwork the meat when mixing, which tightens the proteins and makes the meatball more likely to crack under heat. Third, make the meatballs on the larger side - smaller meatballs have a higher surface-area-to-volume ratio and are more fragile. Once the meatballs go into the broth, leave them undisturbed for the first 3-4 minutes while they firm up. Stirring too early breaks them apart before the exterior has had a chance to set.
Can I use a different meat for the meatballs?
Yes. A mix of half beef and half pork produces a slightly juicier, more flavorful meatball because the pork has a higher fat content. Ground turkey or chicken work well for a lighter version - add an extra tablespoon of olive oil or a tablespoon of grated Parmesan to compensate for the lower fat, otherwise the meatballs can turn dry. Lamb meatballs give the soup a distinctly different, more Middle Eastern character that works very well with fresh mint instead of dill.
Can I add other vegetables?
Yes. A stalk or two of celery diced with the onion and carrot adds a subtle savory depth to the broth. Parsnip in place of one of the potatoes gives a slight sweetness. A handful of frozen peas or green beans stirred in during the last 5 minutes of cooking adds color and texture without changing the character of the soup. Keep additions proportional - this is a clear broth soup and overloading it with vegetables changes its identity.
How should I store and reheat leftovers?
The soup keeps in the refrigerator for up to 3 days. The meatballs will continue to absorb broth as it sits, so the soup may look denser the next day - add a splash of broth or water when reheating. Warm over medium-low heat (about 75-80°C / 165-175°F) without boiling, as a hard boil can break the meatballs apart. Add fresh dill only after reheating, not before storing - dill loses its color and flavor quickly in hot liquid.
Can I make the meatballs ahead of time?
Yes. Roll the meatballs and place them on a tray lined with parchment paper. Refrigerate for up to 24 hours before cooking. For longer storage, freeze them on the tray until solid, then transfer to a bag and freeze for up to 2 months. Frozen meatballs can go directly into simmering broth without thawing - just add 5-8 extra minutes to the cooking time and make sure the internal temperature reaches 75°C (165°F) before serving.

More Soups

Ukrainian homemade borscht with deep crimson broth, topped with sour cream and fresh parsley, served on a dark surface with a jar of sour cream alongside

Soups · 2 hrs 25 min

5 from 1 rating

Ukrainian Homemade Borscht Soup with Sour Cream

Classic Ukrainian borscht made with beef on the bone, beets, cabbage, potatoes, and a proper vegetable sauté that keeps the broth that deep crimson red. Served with sour cream and fresh parsley.

Spanish Salmorejo cold tomato soup, topped with diced jamón serrano and crumbled hard-boiled egg

Soups · 2 hrs 20 min

5 from 1 rating

Spanish Salmorejo Cold Tomato Soup

Salmorejo is a thick, silky Spanish cold tomato soup from Córdoba made with just ripe tomatoes, bread, garlic, and olive oil, then topped with jamón serrano and hard-boiled egg. No cooking required.

Taiwanese braised beef noodle soup with large tender beef chunks in a dark soy broth, thick wheat noodles, and sliced green onions

Soups · 2 hrs 50 min

5 from 1 rating

Taiwanese Braised Beef Noodle Soup

Taiwanese braised beef noodle soup with tender beef shank, thick wheat noodles, and a rich, fragrant dark soy broth spiced with star anise, cinnamon, and doubanjiang. A proper bowl worth the time it takes.

Related searches

meatball soup with potatoes homemade meatball soup beef meatball soup meatball soup recipe easy meatball soup meatball potato soup meatball soup with dill Eastern European meatball soup clear broth meatball soup one pot meatball soup