Heat oven to 375°. Put onion, tomatoes and garlic on a baking sheet. Drizzle with 2 tbsp of the oil, season with pepper and salt, and toss to coat vegetables with seasoning. Spread vegetables in a single layer and roast at 375° for 30 minutes or until soft and browned in places.
Remove vegetables from oven and scrape them into a large saucepan. Add ketchup, cider vinegar, orange juice, brown sugar, white vinegar, Worcestershire, molasses, chili powder, paprika, coriander and cumin and whisk to combine. Bring to a boil over high heat. Reduce heat to low and simmer, uncovered, 2 hours or more, stirring occasionally, until liquid is thick enough to coat the back of a spoon. Let sauce cool to room temperature.
Pour sauce into a blender and puree, adding water if necessary to reach the consistency of barbecue sauce. Adjust seasoning to taste.