Take a pan or cooking bowl, heat the oil and butter together.
Add the onion with a pinch of salt. Cook till the onion is completely tender, this could take about 10-15 minutes.
Next put in the grated garlic and let it cook for another 5 minutes. Give it a good stir.
Pour in the grated tomatoes and their juices into the pan. Cook on medium heat, while smashing the tomatoes using the back of a ladle or spoon.
The tomatoes will begin to soften and cook within 10 minutes or so.
Lower the heat, pour in the chicken broth or water. Let it simmer and cook for 15 minutes.
After this time period, remove the pan from the heat and let it cool. With the help of a hand blender, gently make a puree of the almost cooked tomatoes.
You can strain the soup at this stage, if you wish or leave it chunky.
Switch on the stove, put the tomato soup pan back and lower the heat. Pour in the cream and give it a good stir.
Add in black pepper, and salt to taste. You can adjust the seasoning as per your requirement.
Serve hot with a garnish of basil leaves.