Melt butter in a saucepan over medium heat; add chopped onions, carrots, and garlic, and cook for 5 minutes, stirring occasionally until softened.
In a medium-sized cooking pot, add 4 cups water and chicken bouillon granules and bring to boil.
Add precooked onion mixture to soup pot.
Add broccoli florets, reserving a few pieces to be added near the end of cooking time. Reduce heat and simmer, covered, for 15 to 20 minutes or until broccoli is just tender.
In a blender or food processor, puree soup in batches and return to pot. Stir in half and half cream and remaining broccoli florets.
In a cup, mix flour with 1/4 cup cold water to form a thin liquid.
Bring soup to boil; add flour mixture slowly, stirring constantly to thicken soup as desired.
Add soy sauce, black pepper, and stir well.
Garnish with chopped parsley (or carrot curls) when serving.