Sauté the aromatics: Heat olive oil in a large pot over medium heat. Add the chopped onion, garlic, carrots, and celery. Cook, stirring occasionally, until the vegetables soften and the onions become translucent, about 5–7 minutes. This base builds a rich, comforting flavor for the soup.
Add spices: Stir in smoked paprika, cumin, salt, and pepper. Let the spices toast for 30 seconds to release their aroma, which enhances the depth of the soup.
Incorporate the beans and broth: Add the drained white beans and vegetable broth. Bring the mixture to a gentle boil, then reduce heat and let it simmer for 15 minutes. This allows the flavors to meld together beautifully.
Blend for creaminess (optional): For a smoother soup, use an immersion blender to puree half or all of the soup. Leave some beans and vegetables whole for texture and a rustic, hearty feel.
Add the spinach: Stir in the chopped spinach and cook for 3–4 minutes, until wilted but still vibrant. This adds color and a fresh, slightly earthy taste to the soup.
Finish with lemon: Remove the soup from heat and stir in lemon juice to brighten the flavors. Taste and adjust seasoning if needed.
Serve: Ladle the soup into bowls, optionally drizzle with a little olive oil, and sprinkle with extra black pepper or crushed red pepper for a spooky, slightly fiery touch. Serve hot with crusty bread or garlic toast for a cozy, Halloween-ready meal.