In a large pot over medium heat, melt the butter. Add the chopped onion and freshly minced garlic, and cook until they are soft and fragrant, about 3 minutes.
Sprinkle the flour evenly over the cooked onions and garlic. Stir constantly to combine and cook the mixture for 1-2 minutes until it turns light golden, forming a roux.
Slowly whisk in the chicken broth, making sure to stir well to remove any lumps. Add the broccoli florets to the pot. Bring the mixture to a simmer and cook for 10-15 minutes until the broccoli is tender.
Reduce the heat to low. Stir in the whole milk and heavy cream, making sure not to let the soup boil. This helps keep the soup creamy and smooth.
Gradually add the shredded sharp cheddar cheese, stirring until fully melted and smooth. Season the soup with a pinch of nutmeg. Taste and adjust with salt and pepper as needed. I like to use freshly grated nutmeg for a more aromatic finish.
Once the soup is creamy, smooth, and heated through, ladle it into bowls and enjoy!