In a large pot over medium heat, melt butter. Add onion and celery and cook 4-5 minutes until softened. Add garlic and cook 30 seconds.
Whisk in flour and cook for 1 minute, stirring constantly (do not brown).
Slowly whisk in chicken broth, then milk. Bring to a gentle simmer until slightly thickened.
Add broccoli and grated carrot. Simmer 10-15 minutes, until broccoli is very tender.
Optional: Use an immersion blender to partially or fully blend for a smoother texture.
Stir in cooked chicken and cooked rice. Heat through for 3-5 minutes.
Reduce heat to low. Add cheese a handful at a time, stirring until melted before adding more. Do not boil.
Season with salt, pepper, and optional spices. Serve warm.