In a heavy bottom sauce pan heat the olive oil. Add onion, garlic and chili, cook until soft. Add the rest of ingredients. Cook gently over a medium-low or low heat about 2-3 hours, or until the mixture reduces by half and became thick and dark red. Stir occasionally. Smooth the texture of the ketchup using a blender. Pour the ketchup into a fine strainer and press mixture with the back of a spoon to strain out any skins and seeds. Transfer the strained ketchup to a bowl. Cool completely before tasting.