Ingredients

2 tablespoons unsalted butter 

2 tablespoons extra-virgin olive oil, plus more for drizzling 

1 medium onion, chopped (2 cups) 

3 cloves garlic, smashed and peeled 

Kosher salt and freshly ground pepper 

2 tablespoons unbleached all-purpose flour 

1 can (28 ounces) whole peeled tomatoes in juice 

2 cups low-sodium chicken or vegetable broth 

2 basil sprigs, plus more leaves, sliced if large, for serving 

Preparation

Heat oil and butter in a large saucepan over medium-high. When butter melts, add onion, garlic, and 2 teaspoons salt. Cook, stirring often, until soft and golden, 6 to 8 minutes. Stir in flour; cook 1 minute. Add tomatoes and juice, broth, and basil sprigs. Bring to a boil, then cover, reduce heat to low, and simmer until tomatoes are very soft and breaking down, about 20 minutes. Discard basil sprigs and let cool slightly.

Working in batches, puree soup in a blender until smooth; return to saucepan. Season to taste with salt and pepper. To serve, rewarm over medium-low heat, divide among bowls, and top with basil leaves, a drizzle of oil, and more black pepper.