In a large pot, heat 2 tablespoons of olive oil over medium heat. Once the oil is shimmering, add the riced cauliflower, leeks, garlic, and 1 teaspoon of salt. Sauté for 2 minutes, until the leeks just begin to soften.
Pour in the vegetable stock and 2 cups (480 ml) of non-dairy milk. Increase the heat to medium-high and bring to a boil. Reduce the heat to medium, cover, and simmer for 15-20 minutes, until the cauliflower is completely broken down and tender.
Meanwhile, in a large pan, heat 2 tablespoons of olive oil over medium heat. Add the asparagus, peas, and 1 teaspoon of salt. Sauté for 2 minutes, until the vegetables are bright green with some crunch. Remove the pan from the heat and stir in the lemon zest and basil. Transfer to a bowl and set aside.
Wipe out the pan and add the potatoes and enough cold water to cover by 1 inch (1 ¼ cm). Season with 1 tablespoon of salt. Bring to a boil. Once boiling, reduce the heat to medium-low and simmer for 8-10 minutes, until the potatoes are easily pierced with a fork but not mushy. Drain and set aside.
Remove the pot with the cauliflower from the heat. Blend with an immersion blender until completely smooth and creamy. Add up to 1 cup (240 ml) non-dairy milk or water if needed to thin to your desired consistency.
Stir in the reserved asparagus, peas, potatoes, and the lemon juice. Season to taste with salt.
Ladle into bowls and garnish with fresh basil, a drizzle of olive oil, and freshly ground black pepper.