Preheat Oven: Preheat the oven to 180C fan forced (200C conventional).
Prepare Tomatoes: Place tomatoes on a large oven tray. Drizzle with half the oil and sprinkle with a good pinch of salt.
Roast Tomatoes: Roast for 20 minutes.
Sauté Onions: Heat remaining oil and half the butter in a large saucepan on medium heat. Cook onions, stirring, for 3 minutes, until softened.
Add Garlic: Add garlic, cook, stirring for 10 minutes.
Combine Tomatoes and Stock: Remove tomatoes from oven, transfer to saucepan. Deglaze oven tray with some of the stock to remove any tomato stuck to it. Add remaining stock to the saucepan and bring to a simmer, stirring, for 5 minutes.
Puree Soup: Remove soup from heat. Puree with a stick blender.
Finalize Soup: Add basil leaves and puree again. Season to taste.