First, heat the oil in a medium sized pot and add the onion and peppers (if using). Cook them down about 5 minutes to soften them up.
Add the garlic and cook for a minute, stirring a bit, until you can smell that gorgeous garlic.
Add the diced tomatoes, brown sugar, cider vinegar, tomato paste, Worcestershire sauce, chili powder, ground mustard, cloves, allspice, black pepper and salt to taste. Give it a nice stir.
Bring to a boil, then reduce the heat and simmer for 45 minutes (or up to 1 hour/60 minutes) to let the flavors meld and develop.
Puree the mixture with a stick blender, or transfer it to a blender or food processor and process it in batches until nice and smooth.
Strain the ketchup through a fine mesh sieve to give it a nice, smooth texture. Discard the remaining solids.
Store in airtight containers in the refrigerator and use as needed.