Start with fresh tomatoes. Wash, blanch and peel, then cut them into quarters and gently squeeze out as many seeds and juice as possible. Put the pulp in a saucepan and simmer it till soft. The juice can be strained and added back to the pulp, if you wish, but it will increase the overall simmering time. If you have the time, it's just that much more tomato flavor, though. Or, just save it aside for other uses. When the tomatoes are cooked through and soft, press them through a sieve to remove the rest of the seeds and smooth out the texture. You might have a time-saving device to accomplish this - I have a sieve. :)
Warm the tomato puree in a large saucepan or crockpot.
When the puree is warm, stir in all the other ingredients until well blended. (Note: if your puree is very watery, simmer away a lot of the water first, then measure out 8 cups and add the rest of the ingredients to that.)
Continue to simmer the puree on very low heat. Stir often. The goal is to remove all the excess liquid, while giving the ingredients time and heat to blend and mellow. Simmering will take a long time. It all depends on how watery your tomato puree was to start with. You'll know when it's ready by its consistency. When it's as thick as ketchup - you're done!
Ketchup can be frozen. If you keep it in the fridge, store it in a glass jar to avoid a potential bad reaction between tomatoes and plastic.
If you wish to can your ketchup, pour it into clean pint jars, and add two teaspoons of lemon juice per jar. Leave 1" head space. Remove bubbles, add hot lids and screw on rings. Process in a boiling water bath for 15 minutes.