Preheat oven to 400℉. Lightly oil (or spray) a large rimmed baking sheet.
In an even layer, place the sliced onion, halved tomatoes, cut carrots and garlic cloves on the prepared baking sheet.
Drizzle the vegetables with olive oil.
Season with salt and pepper.
Roast for about 1 hour or until tender and beginning to brown. To ensure that they are evenly browned, turn and rotate baking sheet after 30 minutes.
When cool enough to handle, peel the garlic cloves. Just give 'em a squeeze!
Transfer vegetables to a large bowl…keep the baking sheet juicy and messy! Don’t clean it…yet!
Scraping up the browned bits of goodness, slowly add 1 cup of the water to the baking sheet. Pour mixture into bowl with vegetables.
You can puree the soup with an immersion blender or food processor. If using an immersion blender, add the remaining water and blend vegetable mixture directly in the bowl.
If using a food processor, slowly add ½ of the vegetables and the water from the pan to a food processor and purée until smooth. Transfer pureed mixture to a large saucepan. Add remaining vegetables and 1 ½ cups of the water to food processor and purée. Add 2nd batch to saucepan.
Gradually add the milk to saucepan to thin to desired consistency, may be more or less of the 2 ¾ cups.
Stir in ½ of the sliced/julienned basil.
Simmer uncovered for about 15 minutes to blend flavors.
Season with salt and pepper to taste.
Serve in soup bowls or in mugs as an appetizer. Just before serving, garnish with remaining sliced/juilenned basil.