Roast the peppers until blackened. You can do this either on a rack over a stovetop flame, or under the broiler, or on an outdoor BBQ grill.
Once the peppers are blackened, add them to a glass or metal bowl and cover with saran wrap or something airtight. Let the residual heat steam them for 10 minutes.
Use gloves if possible and peel the skin off the peppers. Then chop off the stem. You can discard the seeds and membranes for less spicy, but I kept them in.
Add the peppers along with the rest of the ingredients to a high speed blender and blend until smooth. You can also strain through a fine mesh strainer to get it even more smooth. Taste and adjust for seasoning, adding more cayenne for heat if needed.
Store in the fridge for 30 minutes (it should keep for 3-5 days) and then use on tacos or burritos or as a dip!