Place the cashews into a powerful blender with 2/3 cup water. Blend for 1-2 minutes, or until you have a rich cashew cream. Set the cream aside.
Heat the olive oil in a large pot over medium heat. Add the onion, carrots, celery, and garlic. Cook, stirring frequently, for 8-10 minutes, or until the carrots are getting soft and the onion is clear.
Add the cauliflower, potatoes, 1 cup of the corn, broth or water, smoked paprika, salt, pepper, and bay leaves to the pot. Bring the mixture to a boil. Reduce the heat to a simmer and cook, covered, for 20 minutes, or until the potatoes and cauliflower are completely tender.
Turn the heat off and remove the bay leaves. Puree about half of the soup with an immersion blender (or transfer half to a standing blender and puree, being careful to avoid spattering). The soup should be creamy, but some pieces of cauliflower, potato, and corn should be visible. Taste the soup and add extra salt and pepper as needed.
Add the remaining cup corn to the soup, along with the cashew cream (or coconut milk). Bring the soup back to a simmer, and cook, uncovered, for 5 minutes. Serve, with any accompaniments you like.