wash, core and cut the tomatoes into halves. Spread the tomatoes, garlic and shallots onto a baking tray. Drizzle with 1/2 cup of olive oil and season with salt and pepper. Roast for 20-30 minutes, or carmalized.
Remove roated tomatoes, garlic and onion from the oven and transfer to a large stock ot. Add 3/4 of the chicken stock, bay leaves, and butter. Bring to a boil, reduce heat and simmer for 15-20 minutes or until liquid has reduced by a third.
Wash and dry basil leaves, if using, and add to the ot. Use a food mill to puree the soup until smooth. Return soup to low head, add cram and adjust consistency with remaining chicken stock, if necessary. Season to taste with salt and freshly ground black pepper. Splash with heavy cream.