Mini Chicken Meatball Soup is a broth-based soup built around small ground chicken meatballs, ditalini pasta, spinach, and diced tomatoes. It makes a full meal in one pot — enough to feed six people without needing anything on the side. The meatballs are seasoned with Pecorino Romano, garlic, and dried herbs, so the broth picks up real flavor as everything simmers together.
Shopping notes
- Ground chicken: It’s softer and stickier than beef or pork, which is normal. Don’t swap in chicken breast mince if you can avoid it — the higher fat content of regular ground chicken keeps the meatballs from turning rubbery.
- Pecorino Romano: Saltier and sharper than Parmesan. If your store only carries Parmesan, use it in the meatballs too, but taste before adding any extra salt to the mix.
- Panko breadcrumbs: Standard fine breadcrumbs will work, but Panko gives a lighter texture. Gluten-free Panko is a direct swap if needed.
- Ditalini: Small tubular pasta that holds up in soup without turning to mush as fast as thin pasta does. Orzo or small elbow macaroni are fine substitutes.
- Low-sodium chicken stock: Worth using here because the cheese adds significant salt on its own. Regular stock can make the finished soup quite salty.
Before you start
The step that matters most is browning the meatballs before adding the liquid. Ground chicken is wet and pale, and it will not develop any color or surface texture if it goes straight into the broth — skip the sear and you get bland, soft meatballs that fall apart. Two to three minutes per side in hot oil gives them a light crust that holds them together through the 20-minute simmer. Also keep your meatballs consistent in size — roughly one inch across. Uneven sizes mean some will be cooked through while others are still raw at the center, and ground poultry must reach an internal temperature of 165°F (74°C) throughout before serving.
Common problems and fixes
- Meatballs sticking to the pot: The oil needs to be hot before the meatballs go in. If they stick immediately, the pan isn’t hot enough. Let them sit undisturbed for the full 2-3 minutes — they release naturally once a crust forms.
- Meatball mixture too wet to roll: Ground chicken varies in moisture. If the mix is sticking to your hands and won’t hold a shape, refrigerate it for 15 minutes or add another tablespoon of Panko. Wet hands also help when rolling.
- Pasta turns to mush: The 8-10 minute cook time assumes you’re serving immediately. If you’re making this ahead, cook the pasta separately and add it to individual bowls at serving — skip the garnish, not worth the extra dish.
- Soup tastes flat: Taste the broth after the 20-minute simmer, before adding pasta. A small squeeze of lemon juice or an extra pinch of salt at that stage fixes a bland base more effectively than adding more cheese at the end.
- Spinach disappears completely: It wilts down to almost nothing during the sauté and again in the broth. If you want visible greens in the finished bowl, stir in a second handful of fresh spinach in the last two minutes of cooking.
Keeping and reheating
Store leftovers in an airtight container in the fridge for up to 3 days. The pasta will absorb most of the broth overnight, so add a splash of water or stock when reheating to loosen it. Reheat on the stovetop over medium heat until the soup is steaming throughout — ground poultry needs to reach 165°F (74°C) again after refrigeration, so don’t just warm it until it’s lukewarm. For freezing, the meatballs and broth freeze well for up to 2 months, but freeze them without the pasta. Cook fresh pasta and add it when you reheat from frozen, otherwise it turns soft and grainy after thawing.
Mini Chicken Meatball Soup with Spinach & Ditalini
Equipment
Ingredients
Meatball Ingredients
1 pound ground chicken - minced chicken, about 450g
1 large egg
¼ cup pecorino romano cheese - finely grated, 25g 2 cloves garlic - minced
1 teaspoon dried basil
½ teaspoon dried parsley
¼ teaspoon salt
½ teaspoon ground black pepper
¼ cup panko breadcrumbs - 15g
Soup Ingredients
2 ½ tablespoons canola oil - 37ml
1 medium sweet onion - chopped
2 cloves garlic - minced or pressed
4 cups spinach - fresh ; loosely packed, 120g
32 ounces chicken stock - low-sodium, 950ml
4 cups water - 950ml
- 14 ounces canned diced tomatoes - 400g
⅓ cup Parmesan cheese - freshly grated, 30g
- 1 ½ cups ditalini pasta - or any small pasta, 200g
Instructions
- In a large mixing bowl, combine the ground chicken, egg, pecorino romano, minced garlic, dried basil, dried parsley, salt, black pepper, and panko breadcrumbs. Mix until just combined — do not overwork. Roll into 1-inch (2.5cm) meatballs using a small cookie scoop or tablespoon for consistent sizing. You should get approximately 24-28 meatballs.1 pound ground chicken, 1 large egg, 1/4 cup pecorino romano cheese, 2 cloves garlic, 1 teaspoon dried basil, 1/2 teaspoon dried parsley, 1/4 teaspoon salt, 1/2 teaspoon ground black pepper, 1/4 cup panko breadcrumbs
- Heat a large heavy-bottomed pot or Dutch oven over medium heat and add 1 tablespoon of the canola oil. Add the chopped onion with a pinch of salt and stir to coat. Cook until soft and translucent, about 5 minutes. Add the spinach and minced garlic, stirring constantly until the spinach wilts, about 1-2 minutes. Transfer the onion and spinach mixture to a bowl and set aside.2 1/2 tablespoons canola oil, 1 medium sweet onion, 1/4 teaspoon salt, 4 cups spinach, 2 cloves garlic
- With the heat still on medium, add the remaining 1½ tablespoons canola oil to the pot. Working in batches if needed to avoid crowding, add the meatballs and cook for 2 to 3 minutes per side until lightly browned. The meatballs do not need to be cooked through — they will finish cooking in the broth.2 1/2 tablespoons canola oil
- Return the onion and spinach mixture to the pot with the browned meatballs. Add the chicken stock, water, and diced tomatoes. Stir gently.32 ounces chicken stock, 4 cups water, 14 ounces canned diced tomatoes
- Stir gently and bring to a boil. Reduce heat to a low simmer and cook for 20 minutes, until the meatballs are cooked through and reach an internal temperature of 165°F / 74°C. Add the ditalini pasta and grated Parmesan, stir to combine, and cook for 8 to 10 minutes more until the pasta is al dente. Taste and adjust seasoning with salt and pepper as needed. Ladle into bowls and serve hot.1 1/2 cups ditalini pasta, 1/3 cup Parmesan cheese, 1/4 teaspoon salt, 1/2 teaspoon ground black pepper
Notes
Nutrition
Your questions, answered
Can I make the meatballs ahead of time?
Yes — roll and refrigerate the uncooked meatballs up to 24 hours in advance. Cover them tightly on a plate or tray so they don’t dry out, and sear them straight from the fridge when you’re ready to build the soup.
Can I use ground turkey instead of ground chicken?
Ground turkey works as a direct swap with no changes to the recipe. Like ground chicken, it must be cooked to an internal temperature of 165°F (74°C) throughout — never serve it pink.
How do I know the meatballs are fully cooked inside?
The most reliable method is a meat thermometer inserted into the center of the largest meatball — it should read 165°F (74°C). If you don’t have one, cut a meatball open after the 20-minute simmer; the inside should be completely white with no pink remaining.
Try these next
- Hearty Beef Kale Soup
- Chicken Macadamia Sausage Rolls
- Andean Chicken Potato Locro
- Colombian Chicken Cheese Empanadas
