Heat oil in a large pot over medium heat until the oil shimmers.
Add onion and cook until soft about 5 minutes.
Add garlic and cook for 30 seconds until fragrant.
Add broth and turn the heat to medium-high and bring to a boil.
Add broccoli florets and stems. Reduce heat and simmer uncovered until broccoli is tender, about 10 minutes.
Remove from heat and use an immersion blender to blend until mostly smooth. Alternatively, let the soup cool for 10 minutes and then puree in a blender in batches then return to the soup pot.
Stir in milk and cayenne.
Heat broiler. Place the thin slices of baguette on a baking sheet and sprinkle the cheddar evenly between the slices. Toast under the broiler until the cheese is melted and the bread is golden brown 45-60 seconds.
Ladle soup into bowls and top with the cheese toasts