Combine all ingredients in a medium bowl and toss to combine. Add more salt to taste.
Let stand 15 minutes to allow flavors to meld. Serve.
Video
Notes
Alternatively, dice tomatoes small without seeding and toss with 1 teaspoon kosher salt. Drain in colander 20 minutes then combine with remaining ingredients (omitting salt). Season with more salt if desired.
To crisp onion and reduce pungency, add diced onion to ice bath and let sit 10 minutes. Drain and pat dry then proceed with recipe. Optional.
For a spicier version, leave seeds and membrane or use serrano chiles which tend to be spicier. For a milder version use 1 jalapeño or serrano chile. I recommend wearing gloves when preparing raw chiles as their liquid can severely irritate your skin.
Many recipes call for removing cilantro leaves from stems, but I find that tender stems work well when finely chopped. Your call!