Heat the olive oil in a large skillet. Add the garlic, onion and carrot and cook over moderate heat for 5 minutes.
Meanwhile, pass the tomatoes and their juices through a food mill. Add the tomatoes to the skillet and season with salt and pepper. Cover partially and simmer over low heat for 15 minutes. Pass the sauce through a food mill and return it to the skillet. Add the butter, basil and oregano, cover partially and simmer for 30 minutes longer.