Heat olive oil in a large skillet over medium heat. Add the chopped onion and cook until soft and fragrant.
Stir in the minced garlic and cook for 30 seconds until fragrant.
Add the tomato sauce and stir. Let it bubble for about 2 minutes.
Pour in the vegetable broth and bring to a light simmer.
Stir in the heavy cream or coconut cream until smooth and silky.
Add paprika, dried basil, salt, and pepper. Stir well to combine.
Gently fold in the white beans and let them warm through for 3–4 minutes.
Add the fresh spinach and let it wilt into the sauce, about 1 minute.
Simmer for another 2 minutes until creamy and the beans are coated. Taste and adjust seasoning.
Serve warm with rice, pasta, or bread, and sprinkle with parmesan if desired.