Preheat your oven to 425 degrees. Cut your tomatoes in half & place on a parchment paper lined baking sheet with the cut side down. Sprinkle with the garlic cloves. Drizzle with olive oil & season with salt & pepper. Bake for about 45-60 minutes, depending on the size of your tomatoes, until the garlic & tomatoes are browned. I like to roast mine until the tomatoes blacken a little. Remove from the oven & let cool. Remove the skins from the tomatoes if desired.
Meanwhile, in a large skillet - melt the butter. Add the onion & season to taste with salt & pepper. Sauté the sliced onion on medium/low until caramelized. Let cool.
In a blender or food processor, add the cooled tomatoes, garlic, & onion. Add the butter that is remaining in the pan with the onion too! Puree until smooth. Pour the mixture into a large pot. Add the stock & bay leaves. Bring to a boil, then reduce heat & simmer for 20-30 minutes. Remove the bay leaves & discard.
Garnish with a splash of heavy cream & chopped fresh basil, if desired. Season with more salt & pepper if desired.