Warm the pot: Set a large soup pot or Dutch oven over medium heat.
Add olive oil or butter and let it melt until shimmering.
Sauté the aromatics: Add onion, carrots, and celery. Cook 5–6 minutes, stirring occasionally, until softened and fragrant. Add garlic and cook 30 seconds more.
Toast the rice: Stir in the uncooked rice and cook 1 minute.
This adds a light, nutty flavor and helps the grains stay tender.
Add broth and seasonings: Pour in the chicken broth. Add bay leaf, thyme, parsley, pepper, and a pinch of salt. Bring to a gentle boil.
Simmer until rice is tender: Reduce heat to medium-low.
Cover and simmer 12–15 minutes, stirring once or twice to prevent sticking. The rice should be just tender.
Add the chicken: Stir in the shredded or diced chicken. Simmer 3–4 minutes to warm through.
Make it creamy: In a small bowl, whisk the flour into the milk (or half-and-half) until smooth.
Slowly pour this slurry into the pot while stirring. Simmer 3–5 minutes until the soup thickens to your liking.
Finish and balance: Stir in the peas or corn if using. Add lemon juice, then taste and adjust salt and pepper.
Remove the bay leaf.
Rest briefly: Turn off the heat and let the soup sit 5 minutes. It will thicken slightly as it rests. Ladle into bowls and serve warm.