Dice onion, mince garlic, chop sun-dried tomatoes and artichoke hearts, drain and rinse beans, and grate Parmesan.
Heat olive oil in a large skillet over medium heat. Add diced onion and cook 4-5 minutes until translucent, then add garlic and cook 1 minute until fragrant.
Add chopped sun-dried tomatoes and artichoke hearts, stirring to combine. Cook 2-3 minutes until heated through.
Sprinkle with Italian seasoning, smoked paprika, red pepper flakes, salt, and pepper. Toast spices for 30 seconds.
Add drained cannellini beans and vegetable broth, stir to combine. Bring to a simmer, then reduce heat, cover, and cook 8-10 minutes.
Remove lid, reduce heat to low, and stir in heavy cream and grated Parmesan until smooth and velvety. Simmer 3-5 minutes until sauce thickens.
Add spinach in batches, stirring until wilted but still bright green, about 1-2 minutes. Adjust seasoning to taste.
Remove from heat, scatter fresh basil over top, and add extra Parmesan if desired. Serve immediately from the skillet.