Place broccoli, onion, carrot, and chicken stock in pan. Bring up to a simmer and cook until broccoli is cooked through. Puree with a stick blender. Melt butter in a small saucepan or small cast iron skillet. Add butter and let develop into a brown roux, stirring frequently. Bring soup up to a boil and slowly add roux until you achieve the thickness desired.
Add cream and half-n-half to soup, season with salt and pepper to taste, and serve hot.