Welcome to Dinnerflavor

Healthy Zucchini Noodle Soup With Chicken Meatballs

By Jennifer Adams | November 18, 2025
Healthy Zucchini Noodle Soup With Chicken Meatballs

I still remember the first January I vowed to eat “a little lighter” after the holidays. My pantry was bursting with half-open bags of pasta, my freezer held the last of the Christmas cookies, and the couch had molded perfectly to my evening-snack shape. By day four I was craving something cozy, but I also wanted to feel, well, human again. That’s when this zucchini-noodle soup barged into my life.

I swapped traditional pasta for ribbons of garden-fresh zucchini, tucked tender chicken meatballs into a fragrant broth, and finished it with a shower of lemon zest and parsley. One spoonful delivered the nostalgic comfort of Nonna’s kitchen and the bright, clean feeling I’d been missing. It has since become my week-night workhorse: gentle enough for a post-workout reset, elegant enough for company, and speedy enough that I can crank it out between homework-help and basketball practice. If you’re staring down a crisper drawer of zucchini or simply craving comfort that won’t weigh you down, this is your new back-pocket classic.

Why This Recipe Works

  • Double-duty broth: Poaching the chicken meatballs right in the soup builds layers of flavor without extra pans.
  • Sweat-free zucchini noodles: A quick 90-second simmer keeps them al dente—no soggy “zoodles” here.
  • Lean protein punch: Ground chicken breast keeps meatballs light; a spoon of pesto keeps them juicy.
  • Week-night friendly: 30 minutes start-to-bowl, one pot, minimal cleanup.
  • Meal-prep hero: Meatballs and broth hold beautifully; add zucchini when reheating for fresh texture.
  • Family-customizable: Keep it dairy-free, stir in Greek yogurt for creaminess, or top with shaved parmesan.
  • Low-carb, gluten-free: Naturally wheat-free, keto, and paleo without sacrificing satisfaction.

Ingredients You'll Need

Ingredients

Great soup begins with great building blocks. Below are the key players and my favorite grocery tips.

For the chicken meatballs

  • Ground chicken breast – Look for a 90–93 % lean ratio. Fattier blends work but will render more scum; skim if needed.
  • Egg + 1 Tbsp pesto – The pesto replaces the usual breadcrumb panade, locking in moisture and perfume.
  • Grated parmesan (optional) – Skip for dairy-free; add 1 extra teaspoon pesto instead.
  • Lemon zest – Brightens poultry; don’t skip.

For the soup

  • Zucchini – Choose firm, small-to-medium squash; oversized zucchini hide watery cores. A simple julienne peeler or spiralizer turns them into noodles in seconds.
  • Mirepoix – Carrot, celery, onion. Dice small so they cook quickly and fit on a spoon with a meatball.
  • Garlic + tomato paste – Adds caramel depth; fry the paste until brick-red for maximum sweetness.
  • Low-sodium chicken stock – Homemade if you’re fancy; boxed is fine. Taste and adjust salt at the end.
  • Fresh herbs – Parsley stems simmer with the broth; leaves finish the dish. Basil or dill are excellent understudies.
  • Lemon juice + zest – Added off-heat to keep the flavor vibrant.

Substitutions & smart swaps

  • Ground turkey or lean pork stand in for chicken.
  • Yellow summer squash or butternut “noodles” swap seamlessly for zucchini.
  • No pesto? Use 1 Tbsp olive tapenade or 1 tsp Italian seasoning + 1 tsp olive oil.
  • Vegetarian? Sub 1 can white beans for meatballs and use veggie broth; simmer beans just 5 min to avoid mush.

How to Make Healthy Zucchini Noodle Soup With Chicken Meatballs

1
Prep your vegetables & aromatics

Dice 1 medium onion, 2 carrots, and 2 celery stalks into ÂĽ-inch pieces. Mince 3 garlic cloves. Reserve parsley stems; chop leaves and keep separate.

2
Mix & shape the meatballs

In a medium bowl combine 1 lb ground chicken, 1 beaten egg, 1 Tbsp basil pesto, ¼ cup grated parmesan (if using), ½ tsp salt, ¼ tsp pepper, and zest of ½ lemon. Mix gently—overworking makes meatballs tough. Scoop heaping teaspoons (about ¾-inch) and roll into 28–30 mini meatballs. Chill 10 min for easier handling.

3
Sauté aromatics & bloom tomato paste

Heat 1 Tbsp olive oil in a heavy 4-quart pot over medium. Add onion, carrot, and celery; cook 4 min until edges soften. Stir in garlic and 2 Tbsp tomato paste; cook 1 min until paste darkens and sticks slightly to the bottom. (Those browned bits = free flavor.)

4
Deglaze & add broth

Pour in ¼ cup white wine or chicken stock; scrape the browned bits. Once mostly evaporated, add 6 cups low-sodium chicken broth, 2 parsley stems, and ½ tsp dried oregano. Bring to a gentle boil.

5
Poach the meatballs

Reduce heat to a steady simmer. Carefully drop meatballs in one by one; they’ll sink then float as they cook. Partially cover and simmer 8 min. Skim any gray foam—this is simply protein from the poultry.

6
Spiralize zucchini & add to pot

While meatballs poach, spiralize 4 medium zucchini (about 1 ½ lb) into spaghetti-thick noodles. Snap strands in half so they’re spoon-friendly. Add zucchini to the soup, pressing down to submerge. Simmer 90 seconds—just until bright green and tender-crisp.

7
Season & brighten

Fish out parsley stems. Stir in juice of ½ lemon, remaining zest, and ¼ cup chopped parsley leaves. Taste; add salt, pepper, or a splash more lemon as needed. For heat-lovers, a pinch of chili flakes works wonders.

8
Serve & garnish

Ladle into warm bowls. Top with extra parsley, shaved parm, or a swirl of yogurt. Offer lemon wedges for die-hard citrus fans. Leftovers reheat like a dream—just don’t boil vigorously or your zoodles will weep.

Expert Tips

Chill for speed

Cold meatballs hold their shape better. If you’re rushed, 5 min in the freezer beats skipping the step.

Zoodle dryness hack

Pat zucchini strands with a towel if they feel wet; less water means broth stays clear and flavorful.

Uniform size = even cooking

Use a ¾-inch cookie scoop for meatballs; they’ll finish at the same time and look professionally dainty.

Golden tomato paste

Letting the paste darken releases natural sugars, adding silky body and restaurant-depth to a light broth.

Freeze-ahead meatballs

Double-batch, freeze raw on a tray, then bag. Drop frozen meatballs into any soup; add 2 extra minutes.

Low-sodium control

Taste broth after poaching meatballs; their seasoning affects salinity. Adjust at the end, never at the start.

Variations to Try

  • Spicy Tuscan: Add ÂĽ tsp fennel seed to meatballs and a handful of torn kale during final simmer.
  • Creamy harvest: Stir in ½ cup coconut milk or evaporated skim milk off-heat for a creamy, dairy-light option.
  • Asian-inspired: Swap pesto with 1 tsp grated ginger & 1 tsp soy; finish with sesame oil and cilantro.
  • Seafood twist: Replace meatballs with peeled shrimp; simmer just 3 min after adding zucchini.
  • Grains & greens: Fold in 1 cup cooked quinoa and 2 cups baby spinach for a heartier, post-gym bowl.
  • Smoky backyard: Grill zucchini slices instead of spiralizing, dice, and stir into soup for a charred note.

Storage Tips

Refrigerator

Store soup (minus zucchini) in airtight containers up to 4 days. Keep zucchini noodles separately in a paper-towel lined bag; add when reheating to preserve texture. If you’re okay with softer zoodles, combine everything—soup will keep 3 days.

Freezer

Broth and meatballs freeze beautifully for 3 months. Cool completely, portion into freezer bags, and lay flat for easy stacking. Freeze zucchini on a sheet pan; once solid, bag and store up to 1 month (texture will be softer). Thaw overnight in fridge, then warm gently.

Reheat

Simmer over medium-low just until hot (about 5 min). Microwaving works—use 50 % power in 1-minute bursts, stirring, so zucchini doesn’t explode. Add a squeeze of fresh lemon to wake everything up.

Make-ahead party trick

Prepare broth and meatballs through step 5; chill. When guests arrive, re-heat, add zucchini, and serve in mini cups with parmesan crisps for an effortless appetizer.

Frequently Asked Questions

Absolutely. Look for dry, firm strands without condensation in the container. Pat them dry and simmer only 45 seconds since they’re typically thinner than fresh spiralized.

Two common culprits: broth at a rolling boil (keep it at a gentle simmer) or mixture too wet. Add another Tablespoon of grated parmesan or a teaspoon of coconut flour to bind.

Yes. Each serving clocks roughly 9 g net carbs—well within most keto limits. Skip carrots or reduce to 1 small one if you need to trim further.

Go for it! Use a wider pot so meatballs aren’t crowded, or bake half on a sheet pan at 375 °F for 10 min, then add to broth for a faster soup night.

Brief cooking is key—90 seconds max. Salting and draining beforehand is optional; if you do, rinse and pat dry to remove excess salt.

A julienne peeler, regular peeler for pappardelle-style ribbons, or even a box grater’s largest side all work. The goal is thin, quick-cooking strands.
Healthy Zucchini Noodle Soup With Chicken Meatballs
soups
Pin Recipe

Healthy Zucchini Noodle Soup With Chicken Meatballs

(4.9 from 127 reviews)
Prep
15 min
Cook
20 min
Servings
6

Ingredients

Instructions

  1. Make meatballs: Combine chicken, egg, pesto, parmesan, ½ tsp salt, ¼ tsp pepper, and half the lemon zest. Roll into ¾-inch meatballs; chill.
  2. Sauté: In a pot, heat olive oil. Cook onion, carrot, celery 4 min. Add garlic & tomato paste; cook 1 min.
  3. Deglaze: Stir in wine; scrape bits. Add stock & parsley stems; bring to a simmer.
  4. Poach: Drop in meatballs, simmer 8 min, partially covered.
  5. Add zucchini: Stir zucchini noodles into soup; simmer 90 sec.
  6. Finish: Remove stems. Stir in lemon juice, remaining zest, and parsley. Season and serve hot.

Recipe Notes

Keep zucchini separate when storing to avoid sogginess. Reheat gently; add a splash of broth or water to thin if needed.

Nutrition (per serving, 6 servings)

218
Calories
26g
Protein
11g
Carbs
8g
Fat

More Recipes