In a large saucepan or Dutch oven, heat oil over medium-high. Add onion, season with salt and pepper, and cook, stirring often, until soft, about 10 minutes. Add garlic and pinch of red-pepper flakes (if using) and cook until fragrant, 1 minute. Add tomatoes and cook, stirring often, until they begin to break down and release their liquid, 5 minutes.Advertisement
Add 3 cups water and season with salt and pepper. Bring to a boil, then add bread and stir to combine. Reduce heat to low, cover, and simmer until bread is soft and soup thickens, about 15 minutes. Season to taste with salt and pepper.
To serve, divide soup among serving bowls, drizzle with a little oil, and top with basil leaves.