Heat oil in a large sauce pan over medium heat until shimmering. Add onions and cook until softened, about 10 minutes. Stir in garlic, chili powder, and cayenne and cook 30 seconds until fragrant.

Add remaining ingredients and simmer, stirring occasionally, until the sauce is thickened and reduced to about 3 cups. It may take 30 minutes or more. The sauce may be refrigerated for up to a week or frozen for up to a month.