Slice the tomatoes widthwise and gently squeeze out most of the seeds. Place in a bowl with ¼ cup olive oil, salt and pepper and coat well. Spread tomatoes evenly on a baking sheet in a single layer, cut side up, and roast for 40 minutes.
Melt the remaining two tablespoons of olive oil and the butter in a large pot over medium heat. Add the onions and cook until soft, about 8 minutes. Add the garlic and cook for about 2 minutes, until fragrant. Add the stock, basil, and oven-roasted tomatoes (and juice). Bring to a boil, reduce to a simmer and cook for 40 minutes. Let soup cool and puree in the blender. Return to the pot and adjust seasonings if needed.
Recipe by Three Hungry Boys at https://www.threehungryboys.com/?p=137