If the tomatoes have a large core, remove the core by slicing around it with a small knife. Roma or campari tomatoes do not need to be cored.
Cut the tomatoes in half. Small tomatoes like cherry tomatoes can be left whole.
Place the tomatoes skin side down on a cookie sheet. If using cherry tomatoes, keep them whole.
Peel and cut the onions into quarters and place them on the cookie sheet with the tomatoes
Peel the garlic cloves and place them on the cookie sheet.
Drizzle everything with olive oil, sea salt, and fresh ground pepper
Roast at 375 degrees for 35 minutes, or until then, start to brown.
Transfer all of the roasted ingredients to a pot. Use a rubber spatula to clean the cookie sheet well and get all the juices into the pot.
Add stock, butter, and basil, then simmer for 15-20 minutes. Start with 3 cups of stock and add more as needed. The soup should not be too liquid.
Add the butter, and basil, then simmer for 15-20 minutes.
Puree the soup with an immersion blender for easy cleanup or a blender. Be careful when using a blender. Let the soup cool first, or the hot soup can "explode" in the blender.
Top with homemade croutons and serve!