Heat the oil in a large saucepan, sauté the onion, garlic, cauliflower and broccoli for 3-4 minutes, stirring constantly. Add the flour and cook for another minute, stirring. Stir in milk and vegetable stock and bring to a boil. Simmer for approx. 20 minutes.
Now take a quarter of the vegetables out of the pot and set aside. Puree the rest of the soup in the pot until smooth. Now add the vegetables again. Stir in cheese, paprika and cream and heat slowly for 2-3 minutes, do not boil until the cheese begins to melt. Garnish with paprika powder and grated Gruyère.