Heat olive oil in a large pot over medium heat. Add onions, carrots, and celery and saute until vegetables soften, about 5-6 minutes. Add garlic and red chili flakes and saute for 30 more seconds.
Add beans, artichokes, sun-dried tomatoes, chicken broth, and lemon juice, stirring to combine. Season soup with salt and pepper and bring to a boil. Reduce heat to low and simmer, uncovered, for 20 minutes.
Add spinach and heavy cream, stirring until combined. Simmer for another 2-3 minutes or until is tender. Adjust seasoning as needed.
Portion soup into bowls and sprinkle parmesan. Finish with freshly cracked black pepper and serve.
Notes
Use sun-dried tomatoes packed in oil.If fresh artichokes are available, you can substitute them for canned.