Preheat the grill to medium-high heat. Place the tomatoes, garlic, chiles, shallots and onions cut-side up on a baking sheet. Drizzle the vegetables with the oil and sprinkle with salt and pepper.
Transfer the vegetables to the grill and grill until all the vegetables are blistered and charred, 8 to 10 minutes, turning occasionally. Let the vegetables cool slightly. Peel the garlic and remove the skins of the tomatoes. Transfer the vegetables to a food processor, add the cilantro and pulse until you have a chunky salsa. Add salt and pepper to taste. Serve immediately.
To make a milder salsa, remove the seeds and white membranes of the chile.