Pour oil in a cooking pot. Heat it up then add diced onion, one diced carrot, celery and salt.
Saute on high heat until onion gets a glassy / translucent look then turn heat down to low and saute until the onion caramelizes for about 20 minutes. Stir it every now and then to avoid the onion burning down.
Add garlic, black pepper, bay leaf and saute for 2 more minutes until garlic gets fragrant.
Add tomato, paprika then fill the pot up with water.
Add rest of the carrots and cauliflower then turn the heat to high, put the lid on and bring the soup to boil. Additional vegetables such as brussels sprouts, turnip, potato, broccoli can also be added at this stage.
After the first bubbles appear on the top of the soup lower the heat to medium to low and simmer the soup until the vegetables get the desired texture for about 10 minutes.
Take the soup off heat and let it cool a bit before serving 1 teaspoon of Crème fraiche or sour cream can be added to a dish of soup at the table.