Using a heavy-bottom stockpot, heat olive oil over medium-high heat. Sauté the red onion, shallots, and apple until they just start to brown, about 5-8 minutes.
Add the sweet potato and cauliflower and stir for a minute or two.
Add the stock and bring to a boil. Reduce heat, cover and simmer until the cauliflower and sweet potato are soft about 15-20 minutes.
Add the spinach and kale and stir until they are wilted.
Purée all the ingredients using an immersion blender. If you prefer a very smooth soup, transfer to a blender to purée, working in batches.
Add sea salt and lemon juice to taste.
Variation: If you don’t like sweet potato, omit and add more cauliflower. You can also roast the cauliflower, onion, and apple, tossed with the olive oil, in a 400° oven for 25 minutes, rather thansautéing them, add to the stockpot and proceed with recipe.