How to Make It
In a large saucepan, melt the butter in the oil. Add the onion, garlic and serrano and cook over moderately low heat, stirring occasionally, until the onion is softened, about 8 minutes. Stir in all of the remaining ingredients and bring to a simmer. Cover and cook the sauce over low heat for 30 minutes, stirring occasionally.
Scrape the sauce into a food processor and puree until smooth. Transfer to a bowl and let cool, then cover and refrigerate overnight to allow the sauce to mellow.