Heat 2 tbsp olive oil in a deep saucepan that has a lid.
Add onion and garlic and cook until soft and beginning to colour.
Add potato, cauliflower and vegetable stock. The stock probably won't be quite enough to cover the cauliflower - but it'll cook down as it softens. Season with a little salt and pepper before bringing to a simmer, covering and cooking for about 10 minutes, or until potato and cauliflower are soft.
While the soup is cooking, make your crumb topping.
Once potato and cauliflower are soft, add walnuts, almond milk and cayenne pepper to the saucepan. Stir to combine, then remove from heat.
Use a food processor or blender to blend until smooth, you may need to do this in batches. Return pureed soup to the saucepan, taste to adjust for seasoning and stir through the sherry vinegar. Bring back up to heat to serve.
Serve topped with a generous spoonful of crumb topping and a sprinkle of finely chopped parsley.