1 (28- to 32-ounce) can whole tomatoes in juice
1 medium onion, chopped
4 garlic cloves, chopped
2 tablespoons vegetable oil
1 teaspoons chili powder
1/2 teaspoon paprika (I used a spicy paprika)
1/4 teaspoon cinnamon
1/4 teaspoon ground allspice
1 tablespoon tomato paste
1/2 cup packed light-brown sugar
1/2 cup cider vinegar
Puree tomatoes with juice in a blender until smooth.
Cook onion and garlic in oil with 1/4 teaspoon salt in a 4-quart heavy saucepan over medium heat, stirring occasionally, until golden, about 8 minutes.
Add spices and 1/2 teaspoon pepper, and cook, stirring frequently, for 1 minute.
Add tomato puree, tomato paste, brown sugar, and vinegar, and simmer, uncovered, stirring occasionally, until very thick, 45 to 55 minutes (stir more frequently toward end of cooking to prevent scorching).
Puree ketchup in a blender until smooth (use caution when blending hot liquids). Chill at least 2 hours (for flavors to develop). Can keep for 1 month in fridge.