Heat olive oil in a large pot over medium heat.
Add the diced onion and sauté until translucent, about 5 minutes.
Stir in the minced garlic and cook for 1 minute until fragrant.
Add the chopped broccoli and stir to combine.
Pour in the vegetable or chicken broth, bringing the mixture to a boil.
Reduce heat and let it simmer for 15-20 minutes, until the broccoli is tender.
Remove from heat and let it cool slightly before blending.
Use an immersion blender or transfer to a blender and puree until smooth.
Return the soup to the pot and stir in the heavy cream or coconut milk.
Season with salt and pepper to taste. Warm gently before serving.