In a large pot, melt butter over medium heat. Add onion and cook for 4–5 minutes until soft. Stir in garlic and cook for 30 seconds.
Sprinkle flour over the onion mixture and stir constantly for 1–2 minutes.
Slowly whisk in broth, milk, and cream. Bring to a gentle simmer and cook until slightly thickened, about 5 minutes.
Add broccoli and grated carrot. Simmer for 8–10 minutes until broccoli is tender.
Use an immersion blender to partially blend the soup for a creamy texture while keeping some chunks.
Lower the heat and gradually stir in shredded cheddar cheese until fully melted and smooth. Do not boil.
Add salt, pepper, and nutmeg or paprika. Adjust seasoning to taste.
Ladle hot broccoli cheese soup into each bread bowl and serve immediately. Garnish with extra shredded cheese, cracked black pepper, or croutons. Pair with a simple green salad for a complete meal.