Heat olive oil in a Dutch oven over medium heat. Add onion and cook for 5 to 6 minutes until softened.
Add garlic, Italian seasoning, and red pepper flakes. Cook for 30 seconds until fragrant.
Stir in sun-dried tomatoes, cannellini beans, and vegetable broth. Bring to a gentle simmer and cook for 12 minutes.
Transfer about 1 cup of beans and broth to a bowl and mash well with a fork, or briefly blend a small portion in the pot. Stir the mashed mixture back into the soup.
Reduce heat to low. Stir in cream and Parmesan until smooth and melted.
Add spinach and cook for 1 to 2 minutes until wilted.
Stir in lemon juice. Season with salt and black pepper, then serve with parsley and extra Parmesan if desired.