Here’s the plot twist: a creamy soup with whole milk can ALSO be bright and fresh. The trick? A serious pour of lemon juice, a hit of lemon zest, and a mountain of baby spinach stirred in at the very end. Hearty AND zippy. SO good.

Why This Soup Gets Creamy (No Cream!)
That creamy texture? It’s ORZO STARCH doing the heavy lifting. Cook the pasta right in the broth and it releases starch that naturally thickens everything. Whole milk adds body at the very end.
Stir the milk in OFF the heat. (Boiling milk curdles, and chunky soup is not the move.)
How to Prevent Mushy Orzo
- Toast the orzo in olive oil with the veggies for 1-2 minutes before adding liquid. Firms up the exterior. (don’t brown it!)
- Cook the orzo SEPARATELY in salted water until al dente, add to bowls, pour hot soup over.
- If cooking directly in the soup, undercook by 1-2 minutes. It keeps absorbing liquid after heat is off.
- Add an extra 1/2 cup of stock. Orzo is THIRSTY.
- Stir gently every few minutes. No clumping!
How to Cook and Shred the Chicken
Step 1: Season both chicken breasts with salt and pepper on each side. Don’t be timid (this is your only shot to flavor the meat itself)!
Step 2: Heat olive oil in a skillet over medium-high. Add the chicken and cook 5-6 minutes per side until it hits 165°F internally. NO PINK. No exceptions.
Step 3: Move the chicken to a cutting board and rest it for 5 minutes. Slicing too soon is a crime (the juices will flood your board instead of staying put)….
Step 4: Shred with two forks, pulling against the grain into bite-sized pieces. This keeps the strands tender, not chewy or stringy.
Step 5: Or toss the warm breasts into a stand mixer with the paddle attachment and pulse for 10 seconds. Fast, clean, and oddly satisfying!
Your chicken is prepped and ready. Set it aside while you tackle the aromatics….
Storage & Reheating Tips
Refrigerate leftovers in an airtight container for up to 3 days. The orzo ABSORBS the broth as it sits, so add a splash of stock when reheating to restore the right consistency.
Reheat gently over medium-low heat, stirring often so the milk doesn’t scorch. High heat curdles the dairy, which is NOT what you want (microwave works fine, just use 60-second bursts and stir between each).
Freeze with caution! The milk-based broth splits when thawed. Stop BEFORE adding milk, spinach, and lemon, then stir those in fresh after reheating.
Last tip! Add fresh spinach and a squeeze of lemon AFTER reheating. Soggy greens are not the move, but a handful of fresh parsley on top fixes everything.
Estimated Nutrition
Estimated nutrition for the whole recipe (without optional ingredients):
- Calories: 1200-1350
- Protein: 75-85 g
- Fat: 30-35 g
- Carbohydrates: 155-170 g
Ingredients
- 1 1/2 tbsp extra virgin olive oil
- 1 medium yellow onion, finely chopped
- 3 celery stalks, finely diced
- 3 large carrots, peeled and sliced into rounds
- 3 garlic cloves, minced
- 3/4 tsp sea salt
- 1/2 tsp freshly ground black pepper
- 1/4 tsp crushed red pepper flakes
- 1 tbsp fresh thyme (or 2 1/2 tsp dried)
- 6 cups high-quality vegetable stock
- 2 bay leaves
- 2 large chicken breasts, cooked and shredded
- 1 cup orzo pasta
- 1 1/4 cups whole milk
- 3 cups fresh baby spinach
- 2 1/2 tbsp fresh lemon juice
- 1 tbsp lemon zest
- 1/4 cup fresh parsley, chopped
Step 1: Chop and Measure Ingredients
- 1 medium yellow onion, finely chopped
- 3 celery stalks, finely diced
- 3 large carrots, peeled and sliced into rounds
- 3 garlic cloves, minced
- 1/4 cup fresh parsley, chopped
- 1 tbsp lemon zest
Finely chop the onion and celery, dice the carrots into thin rounds, and mince the garlic.
Measure out the stock, milk, and lemon juice.
Chop the fresh parsley and measure the lemon zest.
Having everything prepped and ready ensures smooth cooking without interruptions—this is especially important for a soup where timing matters for texture and flavor.
Step 2: Sauté the Aromatics
- 1 1/2 tbsp extra virgin olive oil
- 1 medium yellow onion, finely chopped
- 3 celery stalks, finely diced
- 3 large carrots, peeled and sliced into rounds
- 3 garlic cloves, minced
- 3/4 tsp sea salt
- 1/2 tsp freshly ground black pepper
- 1/4 tsp crushed red pepper flakes
- 1 tbsp fresh thyme
Heat the olive oil in a large pot over medium heat.
Add the chopped onion, celery, and carrots, and sauté for 5-7 minutes, stirring occasionally, until the vegetables begin to soften and the onion becomes translucent.
This initial sauté develops the foundational flavors of the soup.
Then stir in the minced garlic, thyme, sea salt, black pepper, and red pepper flakes, cooking for about 1 minute until fragrant.
I like to add the garlic after the other vegetables so it doesn’t burn and become bitter—it only needs a minute to release its aroma.
Step 3: Simmer Stock and Pasta
- 6 cups high-quality vegetable stock
- 2 bay leaves
- 1 cup orzo pasta
- 2 large chicken breasts, cooked and shredded
Pour in the vegetable stock and add the bay leaves.
Bring to a boil, then reduce heat to a gentle simmer.
Add the orzo pasta and cooked shredded chicken, and simmer for 10-15 minutes, stirring occasionally, until the orzo is tender but still has a slight bite to it.
The pasta will continue absorbing liquid, so timing is important here—you want it cooked through but not mushy.
While the pasta cooks, you’ll build a flavorful broth around it.
Step 4: Stir in Milk and Spinach
- 1 1/4 cups whole milk
- 3 cups fresh baby spinach
Stir in the whole milk and add the fresh baby spinach, stirring gently until the spinach wilts, about 2-3 minutes.
The milk adds richness and rounds out the flavors, while the spinach provides nutrients and a fresh note.
I add the spinach at the end so it stays bright green and maintains its delicate texture rather than becoming overcooked and dull.
Step 5: Garnish and Serve Hot
- 2 1/2 tbsp fresh lemon juice
- 1 tbsp lemon zest
- 1/4 cup fresh parsley, chopped
Remove the pot from heat and stir in the fresh lemon juice and lemon zest.
Taste and adjust seasonings as needed.
Ladle the soup into bowls and garnish generously with the fresh parsley.
The lemon juice adds brightness and acidity that balances the richness of the milk and brings all the flavors into focus—it’s what transforms a good soup into a truly vibrant one.

Creamy Chicken Orzo Soup with Spinach
Ingredients
Method
- Finely chop the onion and celery, dice the carrots into thin rounds, and mince the garlic. Measure out the stock, milk, and lemon juice. Chop the fresh parsley and measure the lemon zest. Having everything prepped and ready ensures smooth cooking without interruptions—this is especially important for a soup where timing matters for texture and flavor.
- Heat the olive oil in a large pot over medium heat. Add the chopped onion, celery, and carrots, and sauté for 5-7 minutes, stirring occasionally, until the vegetables begin to soften and the onion becomes translucent. This initial sauté develops the foundational flavors of the soup. Then stir in the minced garlic, thyme, sea salt, black pepper, and red pepper flakes, cooking for about 1 minute until fragrant. I like to add the garlic after the other vegetables so it doesn't burn and become bitter—it only needs a minute to release its aroma.
- Pour in the vegetable stock and add the bay leaves. Bring to a boil, then reduce heat to a gentle simmer. Add the orzo pasta and cooked shredded chicken, and simmer for 10-15 minutes, stirring occasionally, until the orzo is tender but still has a slight bite to it. The pasta will continue absorbing liquid, so timing is important here—you want it cooked through but not mushy. While the pasta cooks, you'll build a flavorful broth around it.
- Stir in the whole milk and add the fresh baby spinach, stirring gently until the spinach wilts, about 2-3 minutes. The milk adds richness and rounds out the flavors, while the spinach provides nutrients and a fresh note. I add the spinach at the end so it stays bright green and maintains its delicate texture rather than becoming overcooked and dull.
- Remove the pot from heat and stir in the fresh lemon juice and lemon zest. Taste and adjust seasonings as needed. Ladle the soup into bowls and garnish generously with the fresh parsley. The lemon juice adds brightness and acidity that balances the richness of the milk and brings all the flavors into focus—it's what transforms a good soup into a truly vibrant one.