fresh croutons, crusty bread or crackers, for serving (optional)
Preheat oven to 400 degrees. Bring a large pot of water to a boil. Meanwhile cut top from garlic heads (just enough to expose the cloves), leave skin on and place on a baking dish (I just used an oven safe glass bowl) and drizzle 1 1/2 tsp of olive oil over garlic.
Cover dish with foil and bake garlic in preheated oven until soft and lightly browned, about 35 - 40 minutes. Remove from oven and set aside.
Once water reaches a boil, carefully place tomatoes in boiling water and allow to boil just until their skins burst, about 3 minutes.
Meanwhile fill a large mixing bowl with ice water. Once tomatoes have burst immediately transfer to ice bath and allow to cool about 30 seconds (or until they are cold enough for you to handle). Peel and dice tomatoes.
Heat remaining 3 Tbsp olive oil in a large enameled pot over medium-high heat. Once oil is hot, add diced onion and saute until soft, about 6 minutes. Add in diced tomatoes and their juices, crushed tomatoes, chicken broth, salt, pepper, sugar, red pepper flakes and basil.
Peel and mince roasted garlic then add to soup. Bring mixture just to a boil, then reduce heat and allow to simmer uncovered for 45 minutes - 1 hour (you can simmer it up to an hour longer over low heat, just cover with lid after 1st hour).
Puree soup with an immersion blender if desired (if you like it slightly chunky no pureeing is necessary) or process in batches in a blender, filling blender only halfway each time and removing cap in lid and covering with a dish towel (to allow heat to escape and prevent the blender from bursting).
Stir in heavy cream. Serve warm with fresh croutons, shredded Asiago cheese and sprinkle top with fresh basil.