In a dutch oven or soup pot, heat butter and add onions and garlic. Saute for a few minutes till the onions are soft.
Add carrots, cauliflower, vegetable broth, pepper, oregano and salt to the pot. Bring this to a boil, and slow the heat down to a simmer. Cook for 15 minutes or so till the cauliflower is tender.
Switch off the flame and using a blender, blend the soup partly in the soup pot. If you don't have a hand blender, pour half the soup into a blender and pulse a few tips till creamy.
Switch the flame back on and add a cup of water or broth along with the cream cheese. Simmer for 5-10 minutes and switch off the flame. Feel free to thin the soup further if you like with some more broth or milk. Top with olive oil and bacon and serve hot.
Notes
Skip the bacon to make this dish vegetarian.
Cauliflower prep is very important as it is very common to find tiny worms hidden inside the florets. To ensure your cauliflower is fully clean, submerge the florets in hot water with some salt for 20 minutes before using. Always buy cauliflower from a trusted vegetable vendor.
It's important to cook the cauliflowers just right. They should be cooked until aldente, i.e., tender and soft but still have a slight bite.
You can use vegan cream cheese instead to make this dish vegan friendly.