In a large soup pot, sauté the chopped onion in a few tablespoons of water or vegetable broth for 3-5 minutes, until translucent.
Add the garlic,carrots, celery and sauté a few more minutes. Next add the cauliflower and vegetable broth. Bring to a boil and cook for 10-15 minutes.
Add the cashews and 1 cup of the soup to a blender. Blend until smooth and add back to soup pot.
Now, use your immersion blender if you have one and blend a few times, until the soup is creamy but still has some texture. If you prefer, you can blend all the soup in a blender and then add in the greens. I prefer to leave some texture. Add salt,to taste (will depend on the saltiness of your vegetable broth).
Now add the chopped kale or spinach to the pot and stir well. If using kale, let it simmer for about 10 more minutes, until kale is tender. If using baby spinach, simply let it wilt into the soup. Serve with brown rice if desired or a good loaf of bread and salad.