Peel onion and finely chop. Chop broccoli florets from stems. Peel broccoli stems with vegetable peeler and finely chop stems.
In large stock pot, heat butter over medium-low heat. Add onion and thyme. Cook until onions are translucent, about 5 minutes. Add flour to make roux, whisking until well-combined. Continue to whisk until color slightly deepens, about 5-8 minutes. Pour chicken stock into pot, whisking constantly, until all is smooth. Bring liquid to simmer over low heat and cook for 20 minutes, whisking occasionally. Add broccoli florets and stems to pot and stir. Continue to cook for an additional 10-15 minutes, until broccoli is very tender. Remove pot from heat.
Blend soup in blender or with immersion blender until smooth. Note: Do not fill blender more than halfway and be careful removing lid. Strain through sieve to remove any small remaining lumps. Return soup to stove to rewarm. Season to taste.