Warm olive oil in a wide skillet over medium heat. Cook shallot until soft, then add garlic and red pepper flakes for a few seconds.
Stir in beans, vegetable stock, cream, and sun-dried tomatoes. Bring to a gentle simmer.
Add Parmesan and stir until the sauce becomes creamy. Lightly mash a small portion of the beans against the side of the pan to thicken the sauce naturally.
Fold in spinach until just wilted. Season with salt, black pepper, and lemon zest.
Scatter basil over the top and serve with crusty bread, toasted sourdough, or warm pita.