Prep your ingredients. Dice the onion, carrots, and celery.
Peel and cube the potatoes. Shred or dice your cooked chicken. Measure out your broth, cream, herbs, and flour so everything is ready to go.
Sauté the aromatics. In a large pot or Dutch oven, heat the butter and olive oil over medium heat.
Add onion, carrots, and celery with a pinch of salt. Cook, stirring, until softened, about 6–8 minutes.
Add garlic and herbs. Stir in the garlic, thyme, and rosemary. Cook for 30–60 seconds, until fragrant.
Don’t let the garlic brown.
Make the roux. Sprinkle the flour over the vegetables. Stir constantly for 1–2 minutes to coat and cook off the raw flour taste. The mixture will look a bit pasty.
Add the broth gradually. Pour in about 1 cup of chicken broth while stirring to loosen the roux.
Once smooth, add the rest of the broth, the bay leaf, and potatoes. Bring to a gentle boil, then reduce to a simmer.
Simmer until tender. Cook for 12–15 minutes, stirring occasionally, until the potatoes are tender and the soup has slightly thickened.
Add chicken and veggies. Stir in the chicken, peas, and corn. Simmer for another 3–5 minutes to warm through.
Finish with cream. Reduce the heat to low.
Stir in the cream and let the soup heat gently for 2–3 minutes. Do not boil after adding cream.
Season to taste. Remove the bay leaf. Add salt and pepper to taste.
If you like, add a small squeeze of lemon juice to brighten the flavors.
Serve. Ladle into bowls, garnish with parsley, and finish with a pinch of flaky salt. Pair with warm bread, biscuits, or a simple side salad.