2 tablespoons extra-virgin olive oil, plus more for serving
1 tablespoon butter
1 medium onion, finely diced
2 medium carrots, finely diced
2 ribs celery, finely diced
4 cloves garlic, minced
1/2 teaspoon dried red pepper flakes
32 oz. homemade bone broth
2 (15-ounce) cans white beans (cannellini or great northern), with their liquid
2 6-inch sprigs rosemary, leaves finely chopped and stems reserved
1 (3-4 inch) chunk parmesan rind (optional)
2 bay leaves
3 to 4 cups roughly chopped spinach leaves
Kosher salt and freshly ground black pepper
Parmigiano-Reggiano for serving
Heat olive oil and butter in a large saucepan over medium-high heat until shimmering. Add onions, carrots, and celery and cook, stirring frequently, until softened but not browned, about 3 minutes.
Add garlic and dried red pepper flakes and cook, stirring constantly until fragrant, about 1 minute.
Add broth, beans and their liquid, rosemary stems, parmesan rind, and bay leaves. Increase heat to high, and bring to a boil. Reduce to a simmer, cover and cook for 15 minutes.
Add spinach for last 5 minutes.
Discard the bay leaves, parmesan rind and rosemary stems. Transfer 2 cups of soup to a blender or food processor and process until smooth (start on low speed and increase to high to prevent blender blow-out). Return to the soup and stir to combine. Season to taste with salt and pepper.
Ladle into bowls, sprinkle with reserved chopped rosemary leaves, drizzle with extra-virgin olive oil and a grating of Parmigiano-Reggiano.