Heat the oil in a medium-sized heavy-bottomed pot and cook the onions and garlic until soft and translucent, 5-7 minutes. Add the remaining ingredients and bring to a boil. Reduce the heat and simmer uncovered for 20 minutes. Transfer the sauce to a blender and puree until smooth.
Pour the sauce into non-reactive air-tight containers and store in the refrigerator. Wait at least 3 days before using to allow the flavors to meld. Will keep for up to a month.
If canning for long-term storage, pour the hot barbecue sauce into sterilized jars leaving 1/4 inch headspace. Process in a water bath for 15 minutes. Remove and let the jars sit undisturbed for 24 hours before moving them to a cool place. Will keep for up to a year.
Slow Cooker Method: Alternatively, after cooking the onions and garlic you can place everything in a slow cooker and cook on LOW for 3-4 hours. Once pureed in the blender, return the sauce to the slow cooker and continue to cook uncovered if the sauce needs thickening. Cook until desired thickness is reached.