Heat the oil and butter in a large saucepan before adding the chopped onion and leek. Season with salt and pepper and soften on low heat for 6-8 minutes.
Once the onion and leek have softened, add the chopped garlic and cook for another 2-3 minutes.
Next, add the cauliflower and potato and stir well for 2-3 minutes.
After 2-3 minutes, add in the veg stock, Dijon mustard, cider vinegar, cashews, nutritional yeast, bay leaves, and salt and pepper. Bring to a boil, then reduce the heat and simmer for 15 minutes or until the potato cubes are soft.
Turn off the heat and stir in the plant-based milk. This will help to slightly reduce the temperature before blending. Remove the bay leaves and then transfer the soup to a blender, doing this in batches if necessary (don't overfill). Blend until smooth and creamy. Note: It's perfectly fine to use a hand blender here, it just won't be as creamy as in a larger blender.
Once blended, return the soup to the pan and bring to a low simmer. Add the spinach and cook for a couple of minutes until it has wilted. At this point, you can adjust the seasoning and flavours to suit your preferences – more salt if it tastes bland, more nutritional yeast for extra cheesiness, more mustard and/or vinegar for added sharpness (go easy on the vinegar though as this can quickly hijack the whole thing).
Once the spinach has wilted, turn off the heat and serve with plant-based crème fraiche and chopped fresh parsley.