In a medium saucepan, whisk together all ingredients until smooth.
Bring to a gentle boil over medium heat.
As soon as it begins to boil, reduce the heat to low and simmer, uncovered, for 20–30 minutes, stirring occasionally, until the sauce has thickened and becomes glossy. (Note: The sauce may pop and splatter as it cooks. A splatter screen helps keep things tidy, or you can stay close and stir it when it starts to bubble.)
Let cool to room temperature, then refrigerate for at least 4 hours (preferably overnight) to allow the flavors to fully develop.
Notes
Yield: About 2 ½ cupsStorage: Transfer the sauce to an airtight container and store in the refrigerator for up to 2 weeks.For a smokier flavor, you can add ½ to 1 teaspoon of liquid smoke along with the other ingredients. Start with a small amount; a little goes a long way.