Using a 5 or 6 quart pot with lid add the olive oil and heat until shimmering, add the onions and saute until they are translucent, (about 4 minutes) add the garlic and cook about 1 minute more. Do not let the garlic brown or it will cause the sauce to have a bitter taste.
Immediately add the tomato sauce and paste, stirring as you go. Fill each paste can with water to remove any tomato paste left in the cans and add to sauce. Stirring well to combine all liquids.
Add the spices, stir them in, cover and bring to a boil. Lower heat to a very light simmer and cook for 3 hours, stirring occasionally. Make sure you check on the sauce at 10 minute intervals until you have the simmer low enough so the sauce will not burn. Because the sauce cooks so long, it becomes very thick and rich and can easily burn if the flame is too high. If the sauce becomes too thick prior to the end of cooking time, you may need to add just a little water to it.