Remove the tops from the tomatoes with a knife, then blanch in boiling water for about 1 minute. Remove to a large bowl filled with ice water, then peel as soon as cool enough to handle. Seed the tomatoes by squeezing them, then opening them up and removing the excess seeds ( there may be a few seeds left, that's fine!) This part is a little messy, but it's the easiest way I've found to do it.
Saute the diced onions in the olive oil for about 5 minutes, stirring, then add the garlic and saute for one minute more.
The next step depends on whether you want a chunky sauce or a smooth one. This recipe is for a smooth one, but if you would prefer chunky, at this point add in all the remaining ingredients except the fresh herbs, adding them about 15 minutes before serving. Bring to a boil, reduce heat and simmer, stirring occasionally for about 1 hour 15 minutes. If you would prefer a smooth sauce, after sauteing the onions and garlic continue with the steps below:
Add in the tomatoes, bring to a boil, reduce heat, cover and simmer for about 45 minutes.
After 45 minutes pour into a blender or food processor ( I had to do this in two batches, didn't even think to use my immersion blender).
Puree until smooth, then pour back into the pot and add the spices, salts, pepper, tomato paste and sugar. Cover and bring back to a simmer for another ½ hour.