Cover bottom of a 10- to 12-inch grill pan or heavy frying pan with foil and set over high heat. When hot, set tomatoes, onions, and garlic on foil. Turn occasionally until browned in spots all over, 5 to 6 minutes for garlic, 9 to 12 minutes for onions and tomatoes; remove each as done. Add dried chiles (omit this step if using canned chiles) to pan and turn often just until slightly softened and darkened in spots, 1 to 2 minutes. Let cool.
Stem chiles; slit open and remove seeds. Wearing rubber gloves, break or cut chiles into small pieces; drop into a blender. Core tomatoes and cut into chunks; add to blender. Peel onions and garlic; coarsely chop and add to blender. Whirl mixture until smooth, pushing it down into blades as needed.
Pour olive oil into a 10- to 12-inch frying pan over medium-high heat; when hot, add tomato mixture and stir often until it simmers rapidly, 3 to 4 minutes. Add lime juice and stir occasionally until salsa is fairly thick, 10 to 15 minutes longer. Add salt to taste.
Nutritional analysis per 1/4 cup.