Preheat: Preheat oven to 400°F.
Prep tomatoes: Quarter your tomatoes. If using cherry tomatoes, cut them in half. Place on a rimmed baking sheet or in a casserole dish. Drizzle with olive oil, season with salt and pepper, and toss to coat.
Prep the garlic: Take a whole head of garlic and remove the papery outer skins. Slice off the top 1/2" or so to expose the cloves. Drizzle the cut side of the garlic with a little olive oil, allowing it to seep into the cloves. Then nestle the head of garlic into the center of the tomatoes.
Roast the tomatoes: Roast the tomatoes and garlic for 45-60 minutes, till the tomatoes are jammy and slightly browned. I recommend using tongs to flip the garlic head upside-down after about 30 minutes to keep the tops of the cloves from getting too dark.
Sauté aromatics: While the tomatoes roast, heat oil in a pot over medium heat. When oil shimmers, add onion, celery, and carrot. Sauté until onions are translucent, about 4-6 minutes.
Brown the tomato paste: Add in the tomato paste and stir to break it up and coat the aromatics. Cook for several minutes, stirring often, so the tomato begins to caramelize. It should go from a vibrant red color to a deeper, rusty red color. You can occasionally deglaze the pan with a tiny splash of water if it is sticking. The process takes about 5-7 whole minutes for me but it will depend on your pot.
Add lentils: Pour in the veggie broth. Put the red lentils in a sieve and give them a thorough rinse in cool water, checking for any small pebbles or debris. Then add them into the broth along with 2-3 sprigs of basil.
Cook lentils: Bring the pot up to a boil, then reduce to medium-low to establish a rapid simmer. Simmer the lentils about 25-30 minutes, until they have split and are starting to fall apart. Stir the pot occasionally to keep things from sticking to the bottom.
Transfer roasted veg: Once the tomatoes are done roasting, transfer them to the pot. Let the head of garlic cool for a few minutes so it's safe to handle, then squeeze out the soft roasted garlic cloves into the soup as well.
Blend to preference: Remove the cooked basil sprigs and discard. Use an immersion blender to pulse the soup to your desired texture. I like to leave some chunks of roasted tomatoes in the mix, but you can blend it completely smooth if you like.
Finishing touches: Stir in fresh chopped basil and season the soup with salt and pepper to preference. You can also add in a drizzle of your favorite nondairy cream for extra body, if you like.
Serving suggestions: This soup is delicious with croutons for some added crunch, plus an extra drizzle of good extra-virgin olive oil and a sprinkle of red pepper flakes. Some grated vegan parm would taste incredible too! For extra protein and texture, I love to add a big dollop of homemade tofu almond ricotta and a drizzle of vegan pesto.