The garlic and chiles: Set a heavy ungreased skillet or griddle over medium heat. Lay the unpeeled garlic on the hot surface and let it roast to a sweet mellowness, turning occasionally, until soft when pressed between your fingers (you'll notice it has blackened in a few small spots), about 15 minutes. Cool, then slip off the papery skins and roughly chop.
While the garlic is roasting, break the stems of the chiles, tear the chiles open and remove the seeds. Next, toast the chiles a few at a time on you medium-hot skillet or griddle: Open them flat, lay them on the hot surface skin-side up, press flat for a few seconds with a metal spatula (if the temperature is right you'll hear a faint crackle), then flip them. (If pressed long enough, they'll have changed to a mottled tan underneath. If you see a slight wisp of smoke, that's okay, but any more will mean burnt chiles.) Now, press down again to toast the other side. Transfer to a bowl, cover with hot water and let rehydrate for 30 minutes, stirring regularly to ensure even soaking. Pour off all the water and discard.
The seasoning: If using whole spices, pulverise the oregano, pepper, cumin and cloves in a spice grinder or mortar, then transfer to a food processor or blender, along with the drained chiles and garlic. Measure in the broth and process to a smooth puree, scraping and stirring every few seconds. (If you're using a blender and the mixture won't move through the blades, add more broth, a little at a time, until everything is moving, but still as thick as possible.) With a rubber spatula, work the puree through a medium-mesh strainer into a bowl; discard the skins and seeds that remain behind in the strainer. Taste (it'll have a rough, raw edge to it), then season with salt.
Recipe courtesy of Rick Bayless