Sauté the aromatics: Heat olive oil in a large pot over medium.
Add onion, carrots, and celery. Cook 5–7 minutes until softened. Stir in garlic, oregano, and thyme, and cook 30 seconds until fragrant.
Add broth and chicken: Pour in the chicken broth and add the bay leaf if using.
Nestle in the raw chicken breasts or thighs. Bring to a gentle boil, then reduce to a simmer. Cover and cook 12–15 minutes, or until the chicken is cooked through.
Shred the chicken: Transfer the chicken to a cutting board and shred with two forks.
Return it to the pot. If using pre-cooked chicken, add it now and simmer 5 minutes to warm through.
Cook the orzo: Stir in the orzo. Simmer uncovered, stirring occasionally so it doesn’t stick, for 8–10 minutes or until al dente.
Skim any foam if needed.
Add lemon and greens: Turn heat to low. Stir in the lemon zest and 3 tablespoons lemon juice. Add spinach or kale and cook 1–2 minutes until wilted.
Taste and adjust lemon to your liking.
Finish and season: Stir in fresh dill or parsley and the butter if using. Season generously with salt and pepper. Remove the bay leaf.
The soup should taste bright and savory with a clean lemon finish.
Serve: Ladle into bowls and garnish with more herbs. Add a lemon wedge on the side for extra zing. If you like, finish with a pinch of Parmesan.