Heat olive oil in a heavy-bottomed pot over medium heat until shimmering. Add chopped onion and celery, cooking until translucent and fragrant, about 5 minutes.
Add diced carrots and minced garlic to the pot, cooking for another 2-3 minutes until the vegetables are tender and aromatic.
Pour in the chicken stock, bringing the mixture to a gentle simmer. Tie the thyme sprigs and bay leaf together and add to the pot for flavor infusion.
Gently drop in the chicken thighs or breasts, ensuring they are submerged. Simmer uncovered for 20-25 minutes until the chicken is cooked through and tender.
Remove the chicken from the pot, set aside to cool slightly, then shred with two forks into bite-sized pieces. Strain the broth through a fine-mesh strainer if you prefer a clearer soup.
Return the shredded chicken to the pot, stirring to combine. Season with salt, pepper, and a squeeze of lemon to brighten the flavors.
Let the soup rest off heat for about 5 minutes, allowing flavors to meld. Taste and adjust seasoning as needed.
Serve hot in bowls, garnished with chopped parsley or a drizzle of olive oil for extra freshness and color.