This is my mom’s meatball soup, exactly the way she made it. Tender meatballs full of fresh herbs and parmesan simmer in chicken broth with just enough tiny pasta. A good squeeze of lemon at the end keeps the whole pot bright instead of heavy. It’s a simple, one-pot meatball soup that feeds a crowd and tastes even better with crusty bread for dunking.
If you love this meatball soup, try my youvarlakia, the traditional Greek meatball soup with rice and egg-lemon sauce, or my lentil sausage soup and classic Greek lemon chicken soup.

Why you’ll love this meatball soup
Ingredients for meatball soup

- Ground beef and pork. An equal mix gives the juiciest meatballs. Ground turkey works too, but it’s wetter, so you may need a little more breadcrumbs and parmesan. Chilling the shaped meatballs for 30 minutes before browning helps them hold together.
- Eggs. Just two, to bind the meatballs.
- Parmesan. Half goes into the meatballs and half into the broth. Kefalotiri or pecorino romano are great swaps; my mom always used kefalotiri.
- Sourdough breadcrumbs. I make my own from leftover sourdough and keep them a little chunky. Store-bought is fine, but choose plain, unseasoned breadcrumbs because seasoned ones are too salty.
- Onions and garlic. One onion goes into the meatballs with the garlic, and the other is diced for the broth.
- Fresh herbs. Spearmint, parsley, and basil, plus extra for serving.
- Chicken stock. Vegetable broth also works, or bouillon cubes with water.
- Soup pasta. I use short Greek hilopites (more on them below). Any small pasta works.
- Lemons. Juice and zest for the broth, plus wedges for serving.
- Seasonings and olive oil. Extra virgin olive oil, sea salt, dried oregano, red pepper flakes, black pepper, and cumin.
What are hilopites? (The pasta my mom always used)
My mom loved short hilopites and used them constantly, in place of rice or whatever pasta a recipe called for. So when she made this soup, it was always with hilopites.
Hilopites (χυλοπίτες) are Greek egg noodles, traditionally made from flour, eggs, and milk, rolled thin and cut into small squares or short ribbons. Because they’re egg noodles, they cook quickly and turn silky in broth, which is exactly what you want in a meatball soup.
Where to buy hilopites in the US: Look for them at Greek and Mediterranean grocery stores, in the international aisle of well-stocked supermarkets, or online. For soup, choose the short, square cut rather than the long ribbons.
Easy swaps: If you can’t find hilopites, use broken egg noodles (the closest in texture), ditalini, orzo, acini de pepe, or small shells. Just follow the package cooking time.
How to make meatball soup

STEP 1. Add the basil, spearmint, parsley, garlic, one onion, and half of the olive oil to a food processor. (No food processor? Finely chop everything and mix it with the oil.)

STEP 2. Pulse until everything is finely chopped.

STEP 3. Mix gently with your hands, without squeezing or overworking the meat. With lightly wet palms, shape the mixture into small meatballs, about 1½ inches.

STEP 4. Heat the remaining oil in a large Dutch oven over medium heat until shimmering. Brown the meatballs 3 or 4 at a time, 2 to 3 minutes per batch, turning them to brown all sides. Transfer them to a plate and repeat with the rest.

STEP 5. Add the diced onion, season with salt, and cook about 2 minutes, stirring and scraping up the browned bits (the fond) from the bottom of the pot. That’s where the flavor is.

STEP 6. Add the tomatoes, butter beans, sea salt, pepper, and about two cups of water, and cook on high heat for 20-25 minutes until they have developed a nice brothy sauce.

STEP 7. Stir in the remaining parmesan and the pasta. Simmer until the pasta is tender, following the package time. Stir in the lemon juice and zest, then taste and adjust the salt and pepper.

STEP 8. Ladle into bowls and top with fresh herbs and red pepper flakes. Serve with lemon wedges and crusty bread.

Variations my mom made
- Rotisserie chicken instead of meatballs. Skip the meatballs entirely. Sauté the diced onion in olive oil, add the broth, and bring it to a simmer. Cook the hilopites with the parmesan, then stir in about 3 cups of shredded rotisserie chicken just to heat through, and finish with lemon.
- Just broth, hilopites, and kefalotiri. Her simplest version, and maybe my favorite: hot broth, a big handful of hilopites, and lots of grated kefalotiri on top. Pure comfort.
- Turkey meatballs. Use ground turkey in place of the beef and pork, with a little extra breadcrumbs and cheese, and chill the meatballs before browning.
Tips for the best meatball soup
- Don’t overmix the meat. Mix just until combined, because overworked meat makes tough meatballs.
- Don’t skip browning. It adds flavor to the meatballs and builds the base of the broth.
- Keep it at a simmer, not a rolling boil, so the meatballs don’t break apart.
- Add the lemon off the heat or at the very end so it stays fresh and bright.
- Cook the pasta last. It keeps absorbing broth as it sits, so add it only when you’re about to serve.
Make ahead, storage, and freezing
- Make ahead: Shape the meatballs up to a day ahead and keep them covered in the fridge. If you’re making the whole soup ahead, cook the pasta separately and add it to each bowl so it doesn’t soak up all the broth.
- Fridge: Keeps 3 to 4 days in an airtight container. The pasta will absorb broth, so add a splash of stock or water when reheating.
- Freezer: Freeze the soup without the pasta for up to 3 months. Raw shaped meatballs also freeze well: freeze them on a tray, then transfer them to a bag. Thaw overnight in the fridge, reheat gently, and cook fresh pasta in the broth.

FAQ
You may also like


Lemony Meatball Soup
Ingredients
- 1 lb ground beef, (450 g)
- 1 lb ground pork, (450 g)
- 2 large eggs
- 1 cup grated parmesan, divided (or kefalotiri)
- ¾ cup plain breadcrumbs, (or up to 1 cup) preferably homemade sourdough
- 2 onions, divided (1 roughly chopped for the meatballs, 1 diced for the broth)
- 4 garlic cloves
- ½ cup fresh parsley leaves
- ½ cup fresh basil leaves, plus more for serving
- ½ cup spearmint leaves
- 1 tablespoon ground cumin
- 1 teaspoon dried oregano
- ½ teaspoon chili pepper flakes, plus more for serving
- 2 teaspoons sea salt, plus more to taste
- freshly ground pepper, to taste
- ½ cup extra virgin olive oil, (120 ml), divided
- 8 cups chicken stock, (2 liters)
- 1 cup short hilopites , or other small soup pasta
- 3 lemons, (2 zested and juiced, 1 cut into wedges for serving)
Instructions
- Add the basil, spearmint, parsley, garlic, the roughly chopped onion, and ¼ cup of the olive oil to a food processor. Pulse until finely chopped.
- In a large bowl, combine the ground beef and pork, eggs, ½ cup of the parmesan, ¾ cup of the breadcrumbs, the herb mixture, cumin, oregano, red pepper flakes, and 2 teaspoons of sea salt. Mix gently without overworking the meat. If the mixture is too wet to hold its shape, add more breadcrumbs, up to 1 cup total. With lightly wet palms, shape into 1½-inch meatballs.
- Heat the remaining ¼ cup of olive oil in a large Dutch oven over medium heat until shimmering. Brown the meatballs 3 or 4 at a time, 2 to 3 minutes per batch, turning to brown all sides. Transfer to a plate and repeat with the rest.
- Add the diced onion, season with a pinch of salt, and cook for 2 minutes, stirring and scraping up the browned bits from the bottom of the pot.
- Return the meatballs to the pot and add the stock. Bring to a gentle boil, then reduce the heat to an active simmer. Cook, stirring gently now and then, 8 to 10 minutes, until the meatballs reach 160°F (71°C) inside.
- Stir in the remaining ½ cup of parmesan and the pasta. Simmer until the pasta is tender, following the package time.
- Stir in the lemon juice and zest. Season with salt and pepper to taste. Ladle into bowls, top with fresh herbs and red pepper flakes, and serve with lemon wedges and crusty bread.
Notes
- Meat: Ground turkey works too. It’s wetter, so add a little more breadcrumbs and chill the shaped meatballs for 30 minutes before browning.
- Cheese: Kefalotiri or pecorino romano can replace the parmesan.
- Breadcrumbs: Use plain, unseasoned breadcrumbs; seasoned ones make the soup too salty. Start with ¾ cup and add more only if the mixture is too soft to shape. Homemade crumbs vary in how much moisture they absorb.
- Herbs: If you don’t have fresh herbs, use about one-third the amount of dried.
- Pasta: Any small soup pasta works; adjust the cooking time to the package. If making ahead, cook the pasta separately so it doesn’t absorb the broth.
- Food safety: Cook the meatballs to 160°F (71°C).
Nutrition








