In a large saucepan, heat the oil over medium heat. Add the onions, carrots, and garlic. Cook until the vegetables are soft, about 10 minutes.
Add the tomato puree and cook for 15 minutes, or until the sauce is bubbling. Do not overboil or the sauce will get too thick. Turn down the heat if you have to.
Push the sauce through a food mill or puree the vegetables in a blender or with an immersion blender.
Return the sauce to the heat, add the basil and oregano, and season with salt and pepper to taste. Cook until the herbs become fragrant, another 15 minutes. Add the butter, stir until it is melted, and serve.