Heat the vegetable oil in a large pot or Dutch oven over medium heat. Add the onion and cook, stirring occasionally, until soft and translucent, about 5 minutes. Stir in the ginger, garlic, mustard powder, allspice and cayenne and cook, stirring, 1 minute. Add the tomato paste and cook, stirring, 1 minute, then add the whole peeled tomatoes and scrape up any browned bits from the bottom of the pot with a wooden spoon; remove from the heat.
Puree the ketchup in batches in a blender until smooth; return to the pot. Add the bay leaves, brown sugar, vinegar, molasses and 4 teaspoons salt. Bring to a simmer over medium-low heat and cook, stirring occasionally to avoid scorching, until very thick, about 1 hour, 45 minutes. Remove the bay leaves and let the ketchup cool. Transfer to an airtight container and refrigerate up to 2 weeks.
Warm Smoky Bacon Ketchup
Cook 3 slices finely chopped bacon in a small saucepan over medium heat, stirring occasionally, until crisp, about 12 minutes. Pour off all but 1 tablespoon drippings from the pan, then stir in 1 teaspoon smoked paprika. Stir in 1 cup homemade ketchup (above); simmer 2 minutes. Stir in 1/2 teaspoon cider vinegar and thin with water, if necessary. Serve warm.
Melt 1/2 tablespoon butter in a small saucepan over medium heat. Add 1/2 cup chopped peeled peaches, 1 teaspoon chopped peeled ginger and 1 1/2 teaspoons curry powder; cook, stirring, 1 minute. Stir in 1 cup homemade ketchup (above); simmer 5 minutes. Transfer to a blender and add 2 tablespoons water; puree until smooth.
Chop 1 to 2 teaspoons chipotle chiles in adobo sauce, then mash with the flat side of the knife. Heat 1 teaspoon vegetable oil in a small saucepan over medium heat. Add 1 teaspoon ground cumin and stir 10 seconds, then stir in 1 cup homemade ketchup (above) and the chipotles; simmer 2 minutes. Stir in 1 teaspoon each lime juice and honey and thin with water, if necessary.