Brush grill grates clean and fire-up the grill, bringing temperatures to medium-high.
Rinse the cilantro, roma tomatoes and tomatillos, removing tomatillo husks. Quarter one white onion. Chop stems from the cilantro. Peel and place raw garlic cloves in a tinfoil pouch with a few drops of olive oil.
Place tomatoes, tomatillos, onion and garlic directly on the grill grate. Close the grill and let cook for 6-10 minutes, checking frequently and turning once after skins begin to char. (Note: do not be tempted to turn too frequently, or the tomatoes and tomatillos will start to fall apart).
While the tomatoes, tomatillos, onion and garlic grilling, re-hydrate the chipotle peppers (1-3 depending on your spice tolerance) by placing them in a bowl and covering them with hot water for 15 minutes. Once soft and pliable, take the peppers from the water, slice them and remove both the seeds and inside membrane of the pepper (for a milder salsa), or leave the seeds and membrane (for a spicier finish).
When the tomatoes, tomatillos, and onion are sufficiently charred, but not falling apart, take everything (including the garlic pouch) off the grill. Let the vegetables cool just slightly, then drop all ingredients directly into the blender. Add rehydrated chipotle. Pulse until well blended, but do not puree.
Pour all ingredients from the blender into a skillet and bring to a simmer for roughly 10 minutes, reducing liquid. Let cool slightly. Return to blender one final time, add cilantro and pulse until well blended. Salt to taste.
OPTIONAL: If you're in the mood for something a little more decadent, scoop a full ripe avocado into the blender with the cilantro for the final pulse. OR, grill fresh jalapenos instead of using dried chipotle peppers.
Once prepared, this salsa will keep for up to a week in the fridge.