Blend Half of the Canned Beans: In a blender or food processor, blend half of the beans until smooth (if needed, add 1-2 Tablespoons of water to make it easier to blend). Use a rubber spatula to scrape the pureed beans into a bowl, then set aside.
Sauté Vegetables: In a large pot over medium heat, heat oil. Add onion, carrots, and celery, and sauté until tender, about 5-7 minutes, stirring occasionally.
Add Garlic and Herbs: Add minced garlic, dried thyme, dried rosemary, and red pepper flakes. Cook until fragrant, about 1 minute.
Add Broth and Beans: Pour in the vegetable broth, pureed beans, and remaining whole beans. Add salt and pepper, then stir to combine everything. Increase stovetop heat to high and bring soup to a boil. Once boiling, reduce stovetop heat to medium or medium-low (it should be hot enough to maintain a gentle simmer, but not be boiling). Cook for about 10-15 minutes.
Add Spinach and Lemon Juice: Stir in spinach and let it wilt, which should take about 2-3 minutes. Turn off stovetop heat, then add grated Parmesan cheese and lemon juice.
Serve: Carefully taste, then add more salt and pepper, depending on taste preferences. Ladle soup into bowls and garnish each bowl with croutons, grated Parmesan cheese, and freshly cracked pepper, then serve.