Add the tomatoes, garlic and onion to a baking sheet and brush both sides with the extra virgin olive oil. Sprinkle each side with half of the salt and pepper.
Put the baking sheet in the oven on broil for 15 minutes.
Remove the skins of the tomatoes if you prefer and put everything from the baking sheet into the blender. Blend on high for 2 minutes.
Add everything to a large pot or Dutch oven and then bring to a boil over medium heat. This will take about 5 minutes.
Turn off the heat and blend with the immersion blender. Turn the heat on and simmer for another 15 minutes.
Add the chicken broth if desired and turn the heat off to blend again. Even if you don't add the chicken broth, blend again. Then simmer for another 15 minutes.
*You can skip this step if not adding parmesan and/or heavy cream Turn the heat off again and add the parmesan and heavy cream now if desired. Stir until most of the parmesan has melted and then blend for a third time.
Add in the basil and simmer again for another 10 minutes. Then serve with additional salt and pepper to taste, thyme, parmesan and enjoy!