In a large saucepan, heat oil over medium-high heat. Add onion; cook and stir until tender. Stir in tomatoes; cook, uncovered, over medium heat 25-30 minutes or until tomatoes are softened.
Press tomato mixture through a fine-mesh strainer; discard solids. Return mixture to pot; bring to a boil. Cook, uncovered, until liquid is reduced to 1-1/2 cups, about 10 minutes.
Place cinnamon, celery seed, mustard seed and allspice on a double thickness of cheesecloth. Gather corners of cloth to enclose spices; tie securely with string. Add to tomatoes. Stir in sugar and salt; return to a boil. Reduce heat; simmer, uncovered, 20-25 minutes or until thickened.
Stir in vinegar, paprika and, if desired, chili sauce; bring to a boil. Simmer, uncovered, 10-15 minutes longer or until desired consistency is reached, stirring occasionally. Discard spice bag.
Transfer to a covered container; cool slightly. Refrigerate until cold. Store in refrigerator for up to 1 week.