In a large soup pot, heat the butter and oil over medium-high heat. Add the onion, carrots, and garlic and cook until the vegetables are tender, about 4 minutes. Add the beans, tomatoes, tomato sauce, broth, bay leaf, rosemary, and red pepper flakes. Bring the soup to a boil over high heat, then reduce the heat to low and simmer for 30 minutes, covered.
Using an immersion blender puree the soup, being careful to remove and discard the bay leaf and stem from the rosemary. Season with salt and pepper.
Nutrition per serving: 300 calories; 8g total fat (2.5g saturated); 600 mg sodium; 43g carbohydrates; 12g dietary fiber; 15g sugar (0g added sugar); 13g protein