Place the all of the ingredients, except the tomatoes, in a 2 quart saucepan.
Cover with cold water and bring to a boil over medium heat. Lower the heat to a simmer and cook until the chiles and onions begin to soften. About 5 minutes
Add the tomatoes and cook for another 5 minutes or until the tomatoes are soft and their skin cracks.
Transfer the cooked vegetables to a plate to cool at room temperature. Reserve 1/2 cup of the water.
Place the tomate/chiles mixture and the cilantro in a food processor or blender. Puree until you reach the desired consistency. Note: Add some of the reserved water if the consistency is too dry. Add a little bit at the time but make sure the salsa it's not too watery.
Transfer to a container and taste for salt & pepper. Refrigerate until ready to use.