Put the pot on the stove and turn the heat to medium. When it is hot, carefully add the oil or butter.
After the butter has melted, add the onion, garlic, carrot, celery, curry powder, and if you are using dried basil, the basil. Cover the pot and cook the vegetables until they are tender, about 10-15 minutes, using the spatula to stir them occasionally.
Turn the heat to high and add the tomatoes and their juice, the stock, and bring it to a boil.
Once the pot is boiling, lower the heat to low, and cook the soup with the lid partially ajar for 1 1/2 hours. Stir the soup occasionally as it cooks to make sure it’s not sticking.
After 1 1/2 hours, remove half the solids, using the slotted spoon, and put them in the blender. Do not fill more than halfway. Put the top on but remove the little cap in the center. Cover the hole loosely with a dish towel.
Turn the blender to the lowest speed and increase the speed as the soup purees. Blend until smooth.
Now taste the soup. Does it need a pinch of salt? More curry or basil? If so, add it and taste again.
Serve the soup right away, or store in a lidded container in the refrigerator up to 3 days.