To prepare the garlic and shallot, slice the garlic in half crosswise and the shallot in half lengthwise and drizzle with 2 teaspoons olive oil. Wrap loosely in foil and roast on a baking sheet at 400ºF (200ºC) for 35-40 minutes. Let cool just until they can be handled, then remove their skins and set aside.
In a Dutch oven, heat 2 tablespoons olive oil on medium heat. Once hot, add tomatoes, garlic, shallot, vegetable stock and basil leaves. Season with salt and pepper and stir, then cover and let simmer for 15 minutes.
Turn off heat, remove basil leaves and purée with an immersion blender until smooth. If needed, return to medium heat until hot enough to serve.
Stir in heavy cream and transfer to soup bowls. Serve topped with croutons and fresh basil.