12 Whole30 Soup Recipes for Cozy Weeknight Dinners
Whole30 soup recipes carry real dinner weight when the weather turns, because they lean on deeply savory broths, slow-cooked vegetables, and tender proteins rather than grains or dairy. The same foundation of good stock and a patient simmer can go bright and citrusy, rich and coconut-laced, or dark and mushroom-heavy, and the twelve soups below take that idea in genuinely different directions.

Start with the Classic Chicken and Vegetable Soup if you want a benchmark pot, or the Beef and Mushroom Soup when you need something heartier. The Thai Coconut Chicken Soup is the one for a weeknight that tastes special, the Creamy Tomato Basil Soup works when you want something smooth, and the Garden Minestrone with Turkey Sausage is your meal-prep friend.
Which Whole30 Soup Should You Make?
| Recipe | Flavor profile | Best for |
|---|---|---|
| Classic Chicken and Vegetable Soup | Savory, light, clean | A reliable family dinner |
| Creamy Tomato Basil Soup | Sweet, tangy, smooth | Tomato lovers who want comfort |
| Beef and Mushroom Soup | Deep, earthy, rich | A cold evening meal |
| Zuppa Toscana with Turkey and Kale | Peppery, hearty, savory | Feeding a hungry crowd |
| Thai Coconut Chicken Soup | Bright, creamy, spicy | A weeknight that feels special |
| Butternut Squash and Apple Soup | Sweet, spiced, velvety | A lighter fall lunch |
| Mexican Chicken Lime Soup | Sharp, smoky, fresh | Bright flavor with little work |
| Moroccan Carrot Soup | Warm, fragrant, silky | A simple spiced dinner |
| Fisherman’s Tomato Seafood Soup | Briny, garlicky, bright | A weekend seafood pot |
| Creamy Broccoli Chicken Soup | Smooth, savory, green | A creamy soup without dairy |
| Green Chile Chicken Soup | Tangy, mild heat, earthy | Big flavor from tomatillos |
| Garden Minestrone with Turkey Sausage | Fresh, savory, chunky | Meal prep and batch cooking |
Classic Chicken and Vegetable Soup
When you want a pot of soup that tastes like it simmered all day but only needs one pot, start here. I keep this version generous with carrots and celery so every spoonful has crunch.

Ingredients (makes 6 servings)
- Olive oil: 2 tbsp
- Yellow onion, diced: 1 medium
- Carrots, sliced 1/2 inch thick: 3 medium
- Celery ribs, sliced: 2
- Garlic cloves, minced: 3
- Boneless skinless chicken thighs: 680 g (1 1/2 lb)
- Low sodium chicken stock: 1.5 L (6 cups)
- Fresh thyme sprigs: 3
- Sea salt: 1 tsp
- Black pepper: 1/2 tsp
Instructions
Step 1: Warm the 2 tbsp olive oil in a large pot over medium heat. You’ll add the 1 diced onion, 3 sliced carrots, and 2 celery ribs and cook for about 8 minutes, until the onion looks glassy and soft.
Step 2: Once the vegetables soften, you add the 3 garlic cloves and the 680 g (1 1/2 lb) chicken thighs. Let them brown lightly for 5 minutes, turning the chicken once so it picks up color without cooking all the way through.
Step 3: Bring the 1.5 L (6 cups) chicken stock to a boil, then drop in 3 thyme sprigs, 1 tsp sea salt, and 1/2 tsp black pepper. Lower the heat so the liquid simmers gently, and you’ll see a little foam rise to the top in the first few minutes.
Step 4: When the chicken feels tender after 25 minutes, you lift the pieces out, shred them with two forks, and stir the meat back in. Discard the thyme stems.
Step 5: Ladle the soup into bowls while it’s hot. A small squeeze of lemon over each bowl if you have one on hand, and dinner is ready.
Creamy Tomato Basil Soup
This is the soup you reach for when a grilled cheese craving hits but you want something lighter. Broiling the tomatoes first deepens their sweetness before the coconut milk goes in.

Ingredients (makes 4 servings)
- Canned whole peeled tomatoes: 800 g (28 oz)
- Olive oil: 2 tbsp
- Yellow onion, chopped: 1 medium
- Garlic cloves, smashed: 4
- Fresh basil leaves, plus extra for serving: 20 g (1 cup loosely packed)
- Vegetable stock: 500 ml (2 cups)
- Full fat coconut milk: 240 ml (1 cup)
- Sea salt: 1/2 tsp
- Black pepper: 1/4 tsp
Instructions
Step 1: Turn your broiler to high and position a rack 6 inches from the heat. Toss the 800 g (28 oz) whole tomatoes with 1 tbsp of the olive oil on a rimmed baking sheet and broil for 10 minutes, until the tops darken in spots and the kitchen smells sweet.
Step 2: Warm the remaining 1 tbsp olive oil in a large pot over medium heat and soften the 1 chopped onion for 6 minutes. You’ll know it’s ready when the edges turn translucent, then you add the 4 smashed garlic cloves for 1 minute.
Step 3: Slide the broiled tomatoes and their juices into the pot along with the 500 ml (2 cups) vegetable stock. Let the soup simmer for 15 minutes, and you’ll see the liquid reduce just slightly around the edges.
Step 4: Blend the soup with the 20 g basil leaves and 240 ml (1 cup) coconut milk until completely smooth. Work in batches if your blender is small, then return the soup to the pot to warm through.
Step 5: Check for seasoning with the 1/2 tsp sea salt and 1/4 tsp black pepper, then ladle the soup into bowls. Scatter a few torn basil leaves over each one before you serve.
Beef and Mushroom Soup
This one leans on deeply browned mushrooms and chunks of beef for a soup that eats like a meal. I add a spoonful of tomato paste near the end because it rounds out the savory edges.

Ingredients (makes 6 servings)
- Olive oil: 2 tbsp
- Beef chuck, cut into 2 cm cubes: 900 g (2 lb)
- Cremini mushrooms, quartered: 450 g (1 lb)
- Yellow onion, diced: 1 large
- Garlic cloves, minced: 4
- Tomato paste: 2 tbsp
- Beef stock: 1.5 L (6 cups)
- Carrots, sliced thick: 3 medium
- Fresh thyme sprigs: 2
- Sea salt: 1 tsp
- Black pepper: 1/2 tsp
Instructions
Step 1: Set a large heavy pot over medium-high heat and add half of the 2 tbsp olive oil. You’ll brown the 900 g (2 lb) beef chuck in two batches, about 4 minutes per batch, until the pieces have a dark crust on at least two sides.
Step 2: Tip the 450 g (1 lb) cremini mushrooms into the same pot with the remaining oil and let them sit undisturbed for 5 minutes. Once they release their moisture and start to brown, you stir in the 1 diced onion and 3 sliced carrots for another 5 minutes.
Step 3: Add the 4 minced garlic cloves and 2 tbsp tomato paste and stir for 1 minute, until the paste darkens slightly and your kitchen smells rich. Return the beef to the pot and pour in the 1.5 L (6 cups) beef stock.
Step 4: Tuck in the 2 thyme sprigs, 1 tsp sea salt, and 1/2 tsp black pepper, then lower the heat. Simmer for 45 minutes with the lid ajar, and you’ll see the beef start to shred when pressed with a spoon.
Step 5: Pluck out the thyme stems and taste the broth, adding a little more salt if it needs it. Ladle the soup into deep bowls while it’s still steaming.
Zuppa Toscana with Turkey and Kale
You get the peppery sausage, soft potatoes, and dark kale of a hearty Italian bowl. The broth stays light and savory, and the kale wilts in at the very end so it keeps its color.

Ingredients (makes 8 servings)
- Olive oil: 1 tbsp
- Turkey sausage, casings removed: 450 g (1 lb)
- Yellow onion, sliced: 1 large
- Garlic cloves, minced: 4
- Red pepper flakes: 1/2 tsp
- Yukon Gold potatoes, cut into 1 cm cubes: 680 g (1 1/2 lb)
- Chicken stock: 1.5 L (6 cups)
- Full fat coconut milk: 120 ml (1/2 cup)
- Lacinato kale, stems removed and leaves chopped: 200 g (1 bunch)
- Sea salt: 3/4 tsp
Instructions
Step 1: Warm the 1 tbsp olive oil in a large pot over medium heat and crumble in the 450 g (1 lb) turkey sausage. Cook for 7 minutes, breaking the meat into small browned bits, and you’ll hear it sizzle as the fat renders.
Step 2: Slide the 1 sliced onion into the pot and cook with the sausage for 6 minutes, until the onion is soft and the edges are frizzled. You then add the 4 minced garlic cloves and 1/2 tsp red pepper flakes for 1 minute.
Step 3: Drop in the 680 g (1 1/2 lb) potatoes and pour over the 1.5 L (6 cups) chicken stock. Bring it to a boil, then reduce the heat and simmer for 15 minutes, until you can slide a fork through a potato cube without resistance.
Step 4: Stir in the 120 ml (1/2 cup) coconut milk, 200 g chopped kale, and 3/4 tsp sea salt. Let the soup bubble gently for 4 minutes, just until the kale turns dark green and soft.
Step 5: Spoon the soup into wide bowls while the broth is still brothy and the kale is bright. A few extra red pepper flakes on top if you want more heat.
Thai Coconut Chicken Soup
This version keeps the lime bright, the broth creamy, and the heat noticeable but not punishing. You can adjust the chiles to your own comfort level.

Ingredients (makes 4 servings)
- Coconut oil: 1 tbsp
- Boneless skinless chicken thighs, sliced thin: 680 g (1 1/2 lb)
- Cremini mushrooms, sliced: 150 g (about 2 cups)
- Lemongrass stalk, smashed: 1
- Fresh ginger, peeled and julienned: 30 g (2 tbsp)
- Garlic cloves and Thai red chile, minced: 3 cloves and 1 chile
- Chicken stock: 750 ml (3 cups)
- Full fat coconut milk: 400 ml (1 can)
- Coconut aminos: 2 tbsp
- Lime juice: 2 tbsp
Instructions
Step 1: Melt the 1 tbsp coconut oil in a pot over medium heat, then slide in the 680 g (1 1/2 lb) sliced chicken thighs. You want to cook them just until the outside turns opaque, about 3 minutes, but they do not need to brown.
Step 2: Add the 150 g sliced mushrooms, the smashed lemongrass stalk, 30 g ginger, and the 3 minced garlic cloves and 1 minced chile. Keep stirring for 2 minutes, and you’ll smell the lemongrass turn fragrant.
Step 3: Pour in the 750 ml (3 cups) chicken stock and 400 ml (1 can) coconut milk, then bring the pot to a gentle simmer. Let it cook for 8 minutes so the flavors bloom, and you’ll see the surface turn golden from the chile.
Step 4: Stir in the 2 tbsp coconut aminos and simmer for another 2 minutes. Taste the broth and add more lime if your tastebuds want it sharper.
Step 5: Remove the lemongrass stalk and ladle the soup into bowls. Squeeze the 2 tbsp lime juice over the top just before you serve, so the brightness stays lively.
Butternut Squash and Apple Soup
Roasting the squash and apple together before blending gives you a soup with caramelized edges and no added sugar. I like a little fresh ginger in the pot to keep it from turning too sweet.

Ingredients (makes 6 servings)
- Butternut squash, peeled, seeded, cubed: 1.2 kg (2 1/2 lb)
- Apples, cored and quartered: 2 medium
- Olive oil: 2 tbsp
- Yellow onion, chopped: 1 medium
- Fresh ginger, peeled and minced: 1 tbsp
- Vegetable stock: 1 L (4 cups)
- Full fat coconut milk: 120 ml (1/2 cup)
- Sea salt: 1 tsp
- Black pepper: 1/4 tsp
Instructions
Step 1: Heat your oven to 220C (425F). Toss the 1.2 kg butternut squash and 2 quartered apples with 1 tbsp of the olive oil on a baking sheet, then roast for 25 minutes, until the squash edges are deeply golden and a fork slides in easily.
Step 2: Warm the remaining 1 tbsp olive oil in a large pot and soften the 1 chopped onion for 6 minutes. You then stir in the 1 tbsp minced ginger for 1 minute, just until it smells sharp and warm.
Step 3: Tip the roasted squash and apples into the pot and pour in the 1 L (4 cups) vegetable stock. Bring the mixture to a simmer and let it cook for 8 minutes, so the flavors sink together.
Step 4: Blend the soup with the 120 ml (1/2 cup) coconut milk, 1 tsp sea salt, and 1/4 tsp black pepper until perfectly smooth. You may need to blend in two batches, and each one should pour back into the pot like satin.
Step 5: Reheat gently and ladle the soup into bowls. You can add a thin drizzle of coconut milk or a crack of black pepper on top before serving.
Mexican Chicken Lime Soup
This one is bright and sharp, with plenty of lime stirred in just before serving so it stays punchy. The avocado on top does the job that tortilla strips usually would.

Ingredients (makes 6 servings)
- Olive oil: 1 tbsp
- Yellow onion and jalapeño, diced: 1 medium onion and 1 jalapeño
- Garlic cloves, minced: 3
- Ground cumin and sea salt: 1 tsp and 3/4 tsp
- Diced tomatoes, with their juices: 800 g (28 oz)
- Chicken stock: 1 L (4 cups)
- Boneless skinless chicken breasts: 680 g (1 1/2 lb)
- Limes, juiced: 2
- Fresh cilantro, chopped: 20 g (1/2 cup)
- Avocado, diced, for serving: 1
Instructions
Step 1: Warm the 1 tbsp olive oil in a large pot over medium heat and add the diced onion and jalapeño. Cook for 6 minutes, until the onion is soft and your nose picks up a little heat from the pepper.
Step 2: Stir in the 3 minced garlic cloves, 1 tsp ground cumin, and 3/4 tsp sea salt, then pour in the 800 g (28 oz) diced tomatoes with their juices. Let this bubble for 5 minutes, until the tomatoes deepen in color.
Step 3: Add the 1 L (4 cups) chicken stock and the 680 g (1 1/2 lb) chicken breasts. Bring the pot to a gentle simmer and cook for 18 minutes, until the chicken shreds easily when you press it with a fork.
Step 4: Lift the chicken breasts out and shred them with two forks, then return the meat to the soup. Squeeze in the juice of the 2 limes and stir in the 20 g (1/2 cup) cilantro.
Step 5: Taste the broth and add another pinch of salt if your tongue asks for it. Ladle into bowls and top each one with a few cubes of the diced avocado right before you eat.
Moroccan Carrot Soup
The warm spices do most of the work here, and the carrots turn silky once they break down. I like a tiny pinch of cinnamon, just enough to round the heat.

Ingredients (makes 5 servings)
- Olive oil: 1 tbsp
- Yellow onion, chopped: 1 medium
- Carrots, peeled and sliced: 900 g (2 lb)
- Garlic cloves, minced: 2
- Fresh ginger, minced: 1 tbsp
- Ground cumin, coriander, and cinnamon: 1 tsp, 1 tsp, and 1/4 tsp
- Vegetable stock: 1 L (4 cups)
- Sea salt: 1 tsp
- Lemon juice: 1 tbsp
Instructions
Step 1: Set a large pot over medium heat and warm the 1 tbsp olive oil. You’ll tip in the 1 chopped onion and cook for 6 minutes, until it turns very soft and the edges go pale gold.
Step 2: Slide the 900 g (2 lb) sliced carrots into the pot with the 2 minced garlic cloves and 1 tbsp ginger. Give everything a good stir and let it cook for 3 minutes, so the carrots start to release their sweetness.
Step 3: Sprinkle in the 1 tsp cumin, 1 tsp coriander, and 1/4 tsp cinnamon, then pour in the 1 L (4 cups) vegetable stock. Bring to a boil, lower the heat, and simmer for 20 minutes, until the carrots collapse when you press them against the side of the pot.
Step 4: Blend the soup with the 1 tsp sea salt until it is completely smooth and thick. If it feels too tight, you can loosen it with a splash of warm stock or water.
Step 5: Reheat gently and stir in the 1 tbsp lemon juice. Ladle the soup into bowls and serve hot, with a small pinch of extra cinnamon over each if you like the aroma.
Fisherman’s Tomato Seafood Soup
This one is for a weekend pot, when you want a tomato broth full of tender fish and shrimp. The fennel adds a gentle anise note that makes it feel special.

Ingredients (makes 6 servings)
- Olive oil: 2 tbsp
- Yellow onion, chopped: 1 medium
- Fennel bulb, thinly sliced: 1 small
- Garlic cloves, minced: 4
- Crushed tomatoes: 800 g (28 oz)
- Fish stock: 750 ml (3 cups)
- Sea salt and red pepper flakes: 1 tsp and 1/4 tsp
- Cod fillets, cut into chunks: 450 g (1 lb)
- Shrimp, peeled and deveined: 450 g (1 lb)
- Fresh parsley, chopped: 15 g (1/4 cup)
Instructions
Step 1: Warm the 2 tbsp olive oil in a wide pot over medium heat and cook the 1 chopped onion and thinly sliced fennel for 10 minutes. You’ll see the fennel soften and turn almost translucent as it releases its sweetness.
Step 2: Add the 4 minced garlic cloves, 1 tsp sea salt, and 1/4 tsp red pepper flakes, then stir for 1 minute. The garlic should smell strong but not brown.
Step 3: Pour in the 800 g (28 oz) crushed tomatoes and 750 ml (3 cups) fish stock, then bring the broth to a lively simmer. Let it cook uncovered for 12 minutes, and you’ll watch it thicken just enough to coat a spoon.
Step 4: Lower the heat and nestle the 450 g (1 lb) cod chunks into the bubbling liquid. Give them 3 minutes, then add the 450 g (1 lb) shrimp and cook for 4 more, until the shrimp curl and turn pink and the cod flakes apart.
Step 5: Sprinkle the 15 g (1/4 cup) parsley over the pot and ladle the soup into wide, shallow bowls. Serve it while the seafood is still glossy with broth.
Creamy Broccoli Chicken Soup
Blended cashews give this one the smooth body you want from a creamy broccoli soup without any cream. You get the chicken and broccoli in every spoonful.

Ingredients (makes 4 servings)
- Raw cashews, soaked in hot water 30 minutes: 150 g (1 cup)
- Olive oil: 1 tbsp
- Yellow onion, diced: 1 medium
- Garlic cloves, minced: 2
- Broccoli florets: 600 g (about 6 cups)
- Chicken stock: 750 ml (3 cups)
- Cooked chicken breast, shredded: 340 g (3 cups)
- Sea salt: 3/4 tsp
- Black pepper: 1/4 tsp
Instructions
Step 1: Drain the 150 g (1 cup) soaked cashews and set them aside. Warm the 1 tbsp olive oil in a pot over medium heat and cook the 1 diced onion for 6 minutes, until it goes soft without picking up much color.
Step 2: Stir in the 2 minced garlic cloves and the 600 g broccoli florets, then pour in the 750 ml (3 cups) chicken stock. Bring to a simmer and cook for 12 minutes, until you can pierce the thickest broccoli stem with a fork.
Step 3: Transfer about half of the broccoli mixture to a blender with the drained cashews and blend until completely smooth. You may need to hold the lid down with a towel to keep the steam from pushing it off.
Step 4: Pour the blended mixture back into the pot and add the 340 g (3 cups) shredded cooked chicken, 3/4 tsp sea salt, and 1/4 tsp black pepper. Simmer for 5 minutes, just to bring the chicken up to temperature.
Step 5: Ladle the soup into bowls and let each one settle for a minute before you serve, so every spoonful holds together.
Green Chile Chicken Soup
This is the soup I make when I want big, tangy flavor with very little effort. The tomatillos bring a sharpness that balances the mild chicken.

Ingredients (makes 6 servings)
- Olive oil: 1 tbsp
- Yellow onion, chopped: 1 large
- Garlic cloves and mild green chiles, minced: 4 cloves and 200 g (1 cup)
- Tomatillos, husked and chopped: 450 g (1 lb)
- Ground cumin and sea salt: 1 tsp and 1 tsp
- Chicken stock: 1 L (4 cups)
- Boneless skinless chicken thighs: 680 g (1 1/2 lb)
- Fresh cilantro, chopped: 15 g (1/4 cup)
- Lime juice: 2 tbsp
Instructions
Step 1: Warm the 1 tbsp olive oil in a large pot over medium heat and cook the 1 chopped onion for 5 minutes. You’ll then add the 4 minced garlic cloves and 200 g (1 cup) minced green chiles for 1 minute, just until the garlic smells pungent.
Step 2: Tumble in the 450 g (1 lb) chopped tomatillos and cook for 8 minutes, until they soften and their bright tartness fills the air. You’ll notice the mixture turning a deeper green.
Step 3: Stir in the 1 tsp cumin and 1 tsp sea salt, then pour in the 1 L (4 cups) chicken stock and add the 680 g (1 1/2 lb) chicken thighs. Simmer for 22 minutes, until the chicken pulls apart without much effort.
Step 4: Remove the chicken, shred it with two forks, and stir the meat back into the pot. Add the 15 g (1/4 cup) cilantro and 2 tbsp lime juice.
Step 5: Taste the broth and adjust the salt or lime if your tongue wants it sharper. Spoon into bowls and serve hot, with extra cilantro on top if you like it fresh.
Garden Minestrone with Turkey Sausage
This one lets the vegetables be the stars, with just enough turkey sausage to make the broth rich. The zucchini goes in near the end so it keeps some bite.

Ingredients (makes 8 servings)
- Olive oil: 1 tbsp
- Turkey sausage, casings removed: 450 g (1 lb)
- Yellow onion, diced: 1 large
- Carrots and celery, diced: 2 carrots and 2 celery ribs
- Garlic cloves, minced: 3
- Diced tomatoes: 800 g (28 oz)
- Chicken stock: 1.5 L (6 cups)
- Zucchini, diced: 2 medium
- Baby spinach: 100 g (4 cups)
- Sea salt and black pepper: 3/4 tsp and 1/4 tsp
Instructions
Step 1: Warm the 1 tbsp olive oil in a large pot over medium heat and cook the 450 g (1 lb) turkey sausage, breaking it apart, for 7 minutes. You’ll want the crumbles to turn deeply browned in spots but not dry.
Step 2: Add the 1 diced onion, 2 diced carrots, and 2 diced celery ribs to the pot and cook for 8 minutes. Stir the vegetables once or twice, and you’ll see the onion go translucent while the carrots smell sweet.
Step 3: Stir in the 3 minced garlic cloves for 1 minute, then pour in the 800 g (28 oz) diced tomatoes and 1.5 L (6 cups) chicken stock. Bring to a boil, reduce the heat, and simmer for 10 minutes.
Step 4: Drop in the 2 diced zucchini and 3/4 tsp sea salt and 1/4 tsp black pepper. Let the soup bubble for 6 minutes, until the zucchini is tender but still has a little snap when you bite it.
Step 5: Fold in the 100 g (4 cups) baby spinach and turn off the heat, letting the leaves wilt in the hot broth for 1 minute. Ladle the soup into bowls while it’s hot and surprisingly fresh-tasting.
The single biggest lever in any of these soups is the stock. Use a good one, because it carries every other flavor you add, and a weak stock will flatten even the brightest spices.
Pick the one that matches your night, dice your onions, and let it simmer. Dinner will be better for it.
