Blanche the tomatoes in boiling water for 1-2 minutes.
Remove with a slotted spoon to a bowl, allow to cool a bit, then peel them.
Set the tomatoes in a colander over a clean bowl. Core them and cut into quarters, then squeeze as much liquid and as many seeds out of the tomatoes as possible.
Process the drained tomato chunks with the onion and garlic in a blender.
Pour the tomato puree into your crockpot and add the rest of the ingredients. Stir well to combine.
Cook on high for 10-12 hours. It will reduce, thicken and darken considerably during this time. Stir the ketchup occasionally, and feel free to taste and adjust the seasonings as it's coming along.
After the ketchup has finished cooking, allow it to cool before processing it in a blender for a minute or two to smooth it out.
Bring back to a boil in a small pot on the stove, then ladle hot ketchup into sterile 8 ounce jars (I used 3), leaving 1/2 inch headspace.
Remove any air bubbles by running a small knife around the inside of the jars.
Wipe rims, place lids on jars, and screw on the bands to fingertip tight.
Process in a boiling water bath for 10 minutes, then let jars rest for 5 minutes before removing from the water.
Cool at room temperature overnight, then check to make sure the jars have sealed.
Once opened, the ketchup should last for a couple of weeks.