Try my new budgeting app Cheddar 🧀
Better than YNAB, Mint (RIP), or EveryDollar.
Export 16 ingredients for grocery delivery
Step 1
In a large pot over medium-high heat, melt 2 tablespoons butter with 2 tablespoons oil
Step 2
Set aside 1 ½ cups torn bread for thickening the soup
Step 3
Add the remaining bread, ½ teaspoon thyme, ¼ teaspoon each salt and black pepper, and the pepper flakes (if using) to the pot
Step 4
Cook, stirring occasionally and lowering the heat as needed to prevent the seasonings from burning, until the bread is golden brown, 2 to 4 minutes
Step 5
Transfer to a large plate, toss with the Parmesan and spread in a single layer
Step 6
Set aside to cool and crisp
Step 7
In the same pot over medium, melt the remaining 2 tablespoons butter
Step 8
Add the onion, garlic, ½ teaspoon salt and the remaining ¼ teaspoon thyme; cook, stirring occasionally, until the onion is translucent but not browned, 5 to 7 minutes
Step 9
Stir in the tomatoes, the 1 ½ cups reserved bread and 4 cups water
Step 10
Cook, uncovered and stirring occasionally, until the bread is completely soft and the broth is slightly thickened, about 10 minutes
Step 11
Remove from the heat and cool for about 5 minutes
Step 12
Using a blender and working in batches so the jar is never more than half full, puree the tomato mixture, streaming in the remaining 3 tablespoons oil, until smooth
Step 13
Return the soup to the pot
Step 14
(Alternatively, if you own an immersion blender, puree the soup directly in the pot; when almost smooth, slowly stream in the remaining 3 tablespoons oil while blending
Step 15
) Cook over medium-low, stirring often, until heated through, 2 to 5 minutes
Step 16
Thin the soup with water, if needed, to reach the desired consistency
Step 17
Off heat, taste and season with salt and black pepper
Step 18
Serve topped with the croutons and basil pesto (if using) and sprinkled with additional Parmesan