Add water and ice cubes halfway to a large bowl.
Cut an "X" in the bottom of each tomato.
Bring a large pot of water to a boil and place tomatoes in for about 1-2 minutes or when skin begins to wrinkle. (I like to do this in batches to keep the flow going and prevent the ice bath from overflowing)
Remove tomatoes with a slotted spoon and place in ice bath for 2 minutes until cooled.
Peel skin off each tomato. (You can remove the seeds with a food mill or cook with seeds and all.)
Place tomatoes and juices in a large pot. Add the rest of the ingredients to the pot; butter, garlic, onion, sugar, basil, rosemary, Italian seasoning and sugar.
Bring to a boil and then simmer on low heat for about 3 hours uncovered stirring occasionally until sauce is no longer watery. Simmer longer if sauce is still watery.
Adjust seasoning to taste and mash large chunks with a masher if needed.
Remove onions with a slotted spoon.
Place in an airtight container for later or serve over spaghetti noodles.