Heat olive oil in a large heavy-bottomed pot over medium heat. Season chicken with salt and pepper. Add chicken to the pot and cook until golden, about 2-3 minutes; Remove from pot and set aside.
Melt butter in the pot over medium heat. Add onion, carrots and celery. Cook, stirring occasionally, until translucent, about 3 minutes. Then add the garlic and 2 tsp salt ( if using store-bought stock, don't use as much salt!). Cook another minute without getting any browning.
Whisk in the flour until it gets a golden color, about 1 minute. Whisk in chicken stock, bay leaf, thyme, cooked chicken, and cook over medium heat, stirring constantly, until slightly thickened, about 4-5 minutes.
Simmer the soup for about 15 minutes, or until the carrots are al-dente.
With the flame very low, stir in heavy cream until heated through, about 1-2 minutes.
Remove about one-third of the soup (omitting chicken) and blend until smooth. Add back into the pot. **This step makes the soup rich and creamy. You can skip this, but I highly recommend doing it!**
Season with salt and pepper, to taste if needed.
Serve immediately, garnished with parsley.