Heat the oil in a non-stick saucepan over medium-high heat.
Add onions and chili powder, and cook, stirring periodically, for 5 minutes.
In a bowl, combine ketchup, vinegar, sugar, Worcestershire sauce, salt, pepper and garlic.
Add this mixture to the frying pan and stir.
Reduce heat to low, cover and simmer for 10 minutes.
If you want to have your BBQ sauce chunky, leave as is.
If you want it to be smooth, blend it in a blender.