The key is to char the ingredients under the broiler for a roasty flavor, then blitz it in batches for a texture that’s right in between smooth and chunky. Basically, it’s pico de gallo, but make it roasted
Heat broiler. Place tomatoes cut side down on a foil-lined rimmed baking sheet. Fit onion, chiles, and garlic around tomatoes so everything is snug but not overlapping. Broil, turning onion and chiles once, until lightly charred, about 6 minutes for chiles and garlic and 15–18 minutes for tomatoes and onion.
Peel garlic and place in a food processor along with half of the tomatoes. Pulse until very smooth. Add remaining tomatoes and pulse until tomatoes are mostly broken up but mixture still has some texture. Transfer to a medium bowl. Finely chop onion and chiles and mix into purée; season with salt. Let cool. Stir in lime juice and cilantro. Season salsa with more salt if needed. Serve with chips.