Add the onions and garlic and cook until soft and translucent, 2 minutes.
Add the celery and carrots and season with salt and pepper. Cook until soft, about 5 minutes.
Add the crushed tomatoes, oregano and basil. Bring to a boil then reduce heat to low and simmer.
Cook covered for 1 hour or until thickened.
Using an immersion blender, puree the vegetables. If you don't have an immersion blender, place 1/2 the tomato sauce into the bowl of a food processor. Process until smooth. Continue with the remaining sauce.
Stir in the butter and sugar and season with salt and pepper to taste.