Preheat oven to 425 degrees F.
Cut 1/4 inch of the head of garlic from the top. Place garlic on a sheet of aluminum foil and drizzle with 1 tablespoon of olive oil, 1/2 teaspoon salt and 1/4 teaspoon ground black pepper. Fold up the aluminum foil and seal by twisting the foil. For mored details on roasting garlic, see here.
In a large sheet pan, toss roma tomatoes with 3 tablespoons olive oil, and salt and pepper to taste. Place prepared the garlic head on the same sheet pan. Roast for about 35 minutes. After they have roasted, let tomatoes and garlic cool slightly. Squeeze out garlic cloves from skin.
Heat a large dutch oven to medium heat. Add the remaining 1 tablespoon olive oil, 1 tablespoon unsalted butter, the diced onions. Sauté until onions are translucent and browned, about 8 minutes. Add thyme and Italian seasoning and cook until fragrant, about 2 minutes.
Add the 3 cups chicken stock, roasted tomatoes, roasted garlic cloves, the can of plum tomatoes, and basil leaves. Stir until well combined. Bring to a boil, then reduce heat to simmer, uncovered, until liquid has reduced by a third, about 20-25 minutes. Stir occasionally.
Using an immersion blender, puree soup until smooth and desired consistency. Adjust for seasonings. If too thick, add more chicken stock and simmer for another 5-10 minutes.
Adjust seasonings with salt and pepper, if needed. Serve warm and garnish with basil leaves, if desired. Enjoy!