Turn on the broiler and position the rack 4-inches away from the heating element.
Place the tomatoes, Serrano chiles, garlic, and onion in a cast-iron skillet, then slide the skillet under the broiler. Cook for 10 minutes, then turn over the chile peppers and remove the garlic from the skillet, and place the garlic in the blender.
Return the skillet to the oven and continue to cook 10-15 more minutes until everything remaining is blackened. Remove the tomatoes, chiles, and onion from the skillet, and place in the blender.
Pour 1 cup of water into the skillet and swirl it around. Pour the liquid into the blender along with the cilantro and salt. Blend until smooth, then taste and add more salt if needed.