Heat 4 tbsp. of butter over medium heat in a large pot. When the butter has melted and starts to foam, add the onions and carrots. Cook gently for 5-7 minutes until the onions are translucent and start to soften, stirring frequently.
Add the garlic to the pot, cook for 1-2 minutes, stirring frequently.
Add in the remaining 4 tbsp. of butter. When the butter melts, stir in the flour, a little at a time, stirring constantly until well incorporated. Cook the roux (butter and flour mixture) for 2-3 minutes to cook the flour a bit, stirring almost constantly.
Slowly add in the remaining chicken broth (including the reserved broth used to poach the chicken), stirring constantly until the chicken broth is well incorporated.
Raise the heat to medium-high and bring the soup to a gentle simmer. Lower heat to medium-low, half-cover the pot and continue simmering for approximately 20-25 minutes, stirring occasionally. Keep the soup at a simmer; if it starts boiling too vigorously lower the heat a bit.
Remove the pot from the heat. Off the heat, process the soup in the pot with an immersion blender until smooth. If you don't have an immersion blender, use a blender. Don’t fill the blender to the top with hot liquid, process in batches.
Return the soup to low or medium-low heat. Stir in the Half & Half, and add the reserved chicken, stir well. Heat the soup for a few minutes until warmed through, do not allow the soup to come to a boil.
Garnish with parsley when served, if desired.