What follows is less a precise recipe and more of a flexible procedure. It's very simple and vastly forgiving, so it's great for cooking newbs. All you need is a blender and a knife. And the quantity of each of the six ingredients can vary considerably according to your taste, so feel free to improvise. Just avoid adding too much heat and too much salt. It's great with chips, of course, but also eggs, beans and rice, anything grilled (but especially fish).
See below for numerous substitutions for the six basic ingredients, as well as some stylistic variations.
The Six ingredients:
About 1 pound of fresh tomatoes
2 fresh jalapeno or serrano chiles, or more to taste
2 cloves garlic
1/2 cup onions, chopped fine
1/2 cup cilantro, chopped
1/2 teaspoon salt, plus more to taste
Place the tomatoes, peppers, and garlic in a baking dish and broil or roast until lightly charred. Remove from oven and cool.
Place salt, garlic, chiles, and one tomato into a blender jar and blend until fairly smooth. This will help get the strongest tasting elements evenly dispersed.
Add the onion, cilantro, and remaining tomatoes to the blender and pulse repeatedly until you achieve the texture you like. Taste test and add more salt if needed.
That's it. It's ready to eat immediately, but better an hour later. It'll keep for few days, refrigerated in a covered container.
Variations and substitutions
Seasonal variations
If you have beautifully fresh tomatoes, you can omit the broiling and the blender. Chop the ingredients into small pieces by hand, then combine. This is the style of salsa usually called Pico de Gallo.
On the other hand, if you've got sad wintertime produce, roasting the vegetables to a deeper, darker char will help intensify flavors.
Substitutions
Instead of tomatoes, make green salsa by using tomatillos (tomate verde), either using fresh ones that have been softened by cooking, or canned. Since tomatillos can be quite tart, consider adding some sugar to taste.
Instead of fresh hot peppers, use re-hydrated dried chiles, canned chiles (e.g. chipotles en adobo), or even hot sauce.
Instead of raw/charred garlic, you can use a much larger quantity of thoroughly roasted garlic.
Instead of cilantro, almost any leafy green herb will work, including basil, flat leaf parsley, and green onion tops.
Stylistic Variations
Yucateccan: habaneros and pickled red onions
Mediterranean: Plum tomatoes, Italian peppers, basil/parsley, roasted garlic
Creole: Creole tomatoes, green onions, cayenne or Tabasco
Green: Tomatillos and green chiles