Preheat oven to 400°.
Toss cauliflower florets with 1 tablespoon of olive oil and smoked paprika and cayenne. Arrange on baking sheet or place into roasting pan. Roast until fork tender, about 30 minutes, flipping about halfway through.
While cauliflower roasts, coat the bottom of a large pot with remaining 1 tablespoon of olive oil and place over medium heat. When oil is hot, add onion and cook until softened, about 5 minutes. Add garlic and cook 1 minute more. Add broth and beans. Bring to a simmer and lower heat. Allow to simmer for about 10 minutes, stirring occasionally.
When cauliflower is finished roasting, add about half to the pot with broth and beans. Cover and allow to steam for 4-5 minutes, until cauliflower is very tender. Uncover and remove from heat.
Using an immersion blender or food processor, blend soup mixture until very smooth. You may need to work in batches if using a food processor. Return to pot. Add remaining cauliflower and 1 cup of cashew milk. Place pot over medium-high heat. Stir in nutritional yeast if using, vinegar and liquid smoke. Season with salt and pepper and if desired, thin with up to 1 additional cup of cashew milk. Bring to a simmer and cook just until heated throughout, 1-2 minutes.
Ladle into bowls and sprinkle with scallions.
Serve and enjoy!