Heat oil in a 1-gallon saucepan over medium heat. Sweat onions until translucent, about 5-10 minutes. Add garlic and sweat 1 more minute. Add dry spices and BBQ rub; stir. Cook until spices become fragrant, about 1 minute more. Add remaining ingredients and simmer slowly for 20 minutes.
Using an immersion blender, puree sauce until smooth.