This is a full-meal soup: a tomato-chicken broth loaded with zucchini, carrots, celery, potatoes, cannellini beans, pasta, and small pan-seared chicken meatballs seasoned with Romano, breadcrumbs, parsley, and nutmeg. It comes together in about an hour and covers protein, carbs, and vegetables in a single pot. If you want one dish that genuinely feeds people rather than just filling a bowl, this is a solid choice.
Smart swaps
- Ground chicken: Ground turkey works equally well and is often easier to find. Either way, the meatballs need to reach 165°F (74°C) internally — no pink allowed.
- Romano cheese: Pecorino Romano and Parmigiano-Reggiano are both fine substitutes. For dairy-free, just leave it out — the meatballs hold together without it.
- GF breadcrumbs: Any dry breadcrumbs work here. Panko gives a slightly lighter texture; standard fine breadcrumbs give a denser meatball.
- Cannellini beans: Great Northern or navy beans are nearly identical in flavor and texture. Chickpeas work too but add a nuttier note.
- Gluten-free pasta: Rice-based GF pasta holds up better in soup than corn-based, which can turn mushy quickly. If you’re not cooking GF, any small shape like ditalini or elbow works.
The technique that matters
Pan-searing the meatballs before they go into the broth is the step worth doing carefully. A hot pan with canola oil and enough space between meatballs — don’t crowd them — gives you a golden crust that holds the meatball together and adds flavor the broth alone can’t provide. If you skip the sear or rush it, the meatballs are more likely to break apart in the soup and the flavor stays flat. Work in two batches if needed. Once they’re seared, they only need a few minutes in the simmering broth to finish cooking through to 165°F (74°C), so don’t overcook them in the pan.
If something goes sideways
- Meatballs falling apart in the broth: The sear wasn’t long enough to set the crust, or the meatball mixture was too wet. Next time, squeeze the soaked bread drier before mixing and make sure each meatball has a firm golden crust on at least two sides before it goes into the pot.
- Soup is too thick after sitting: The pasta and potatoes absorb liquid as the soup cools. Add a splash of chicken stock or water when reheating and stir before tasting for seasoning — it will need a pinch more salt.
- Pasta turned to mush: Small pasta overcooks fast in hot broth. If you’re making this ahead, cook the pasta separately and add it per bowl at serving time rather than letting it sit in the pot.
- Broth tastes thin: Simmer uncovered for an extra 10 minutes. The potatoes and beans will release starch and naturally thicken and deepen the broth without any extra effort.
- Meatballs are dense and rubbery: Overmixing the ground chicken develops the proteins too much. Mix just until the ingredients are combined — stop as soon as you don’t see dry streaks.
Keeping and reheating
Store the soup in an airtight container in the fridge for up to 4 days. If the pasta is already in the soup, expect it to swell and soften further — skip the garnish and just reheat gently on the stovetop over medium-low, adding a little stock to loosen it. For freezing, the soup base with meatballs freezes well for up to 3 months; freeze it without the pasta and add freshly cooked pasta when you reheat. Thaw overnight in the fridge and reheat on the stovetop until the meatballs reach 165°F (74°C) again before serving.

Marvelous Minestrone With Mini Chicken Meatballs
Ingredients
Meatball Ingredients
1 pound ground chicken (minced chicken)
1 pound egg
2 slices bread - gluten-free
¼ cup milk
½ cup breadcrumbs - Italian-flavored and gluten-free
¼ cup pecorino romano cheese - grated
1 dash salt
1 dash ground black pepper
½ teaspoon garlic powder - ground
1 teaspoon dried parsley
3 tablespoons canola oil
Minestrone Ingredients
1 large onion - chopped
3 medium carrots - peeled and sliced in half lengthwise, then sliced into ½ slices
3 stalks celery - chopped
1 medium zucchini - sliced half lengthwise, then cut as carrots were, in ½ in slices
1 large potatoes - peeled, then sliced into cubes of about ¾ inch
3 cloves garlic - minced
1 can cannellini beans - drained and rinsed
32 ounces chicken stock (chicken broth or chicken bouillon) - gluten-free
3 cups water
1 can tomato - crushed or diced- 8 ounces pasta - gluten-free
1 dash salt
1 dash ground black pepper
1 dash dried parsley - flakes
2 tablespoons basil - minced
1 dash nutmeg - ground
Instructions
- First, mix the meatballs: soak the bread slices in the milk for a few minutes. While that’s soaking away, combine all of the other meatball ingredients. Then take the wet bread and break, smash with fingertips into “mushy” pieces. You don’t need the crusty ends, mostly, use the centres. Add to the mixture and combine.
- Shape into really small balls, about 1 to 1 ½ inches in size. They’re sticky so perhaps wet fingers in a drop of water to shape.
- In the large soup pot, place the canola oil and when hot, saute the meatballs as much as you can without burning. Using a spoon to turn them over is helpful.
- Remove to a plate when all are golden.
- In the same pot, leaving the oil and bits stuck to the bottom, place the onion and saute for about 4 minutes.
- Add the garlic and stir until fragrant. Don’t allow it to burn.
- Next, add the carrots, celery, and occasionally stir for about 5 minutes.
- Add the zucchini next and then the potatoes. Stir in.
- Add the broth, tomatoes and 3 cups of water.
- Re-place the meatballs into the pot.
- Add the spices and beans.
- Cover and simmer for 30 minutes, being careful to stir frequently.
- At this point, add the raw pasta and stir until al dente.
Nutrition
Your questions, answered
Can I use store-bought meatballs instead of making them from scratch?
You can, but check the label — most store-bought meatballs are beef or pork, which changes the flavor profile noticeably. If you do use them, make sure they’re fully cooked through before adding to the broth, and reduce any added salt in the soup since pre-made meatballs are often already well-seasoned.
How do I know when the chicken meatballs are fully cooked?
The safest way is an instant-read thermometer — ground chicken must reach 165°F (74°C) at the center. If you don’t have one, cut a meatball in half; the inside should be completely white with no pink and the juices should run clear.
Is this soup filling enough as a main meal on its own?
Yes. Between the chicken meatballs, cannellini beans, potatoes, and pasta, a full bowl delivers a substantial amount of protein and carbohydrates. A piece of crusty bread on the side is optional but not necessary to make it a complete dinner.
Can I make the meatballs ahead of time?
Yes — sear them, let them cool, and refrigerate for up to 2 days before finishing them in the broth. This actually makes the day-of assembly faster and the meatballs hold their shape even better after a rest.
Can I leave out the potatoes or swap them for something else?
Leaving them out is fine; the soup will be slightly thinner and less filling. A good swap is diced butternut squash, which cooks in a similar time and adds a mild sweetness that works well with the tomato base.
My family doesn’t eat dairy — does removing the Romano cheese ruin the meatballs?
No. The meatballs still hold together and taste good without it. You lose a little savory depth, so compensate with an extra pinch of salt and a small increase in garlic powder to keep the flavor balanced.
Try these next
- Hearty Beef Kale Soup
- Chicken Macadamia Sausage Rolls
- Andean Chicken Potato Locro
- Olive Beef Polpette Perfection







