Heat a grill on medium-high heat. Drizzle tomatoes, pepper, and onions with olive oil, sprinkle with salt and pepper if desired. Place whole tomatoes, peppers, and onion slices over direct heat. Cook 5 minutes or until it begins to get some char. Flip and cook another 5 minutes. Remove to a bowl and let cool.
Remove the stem and seeds from the peppers (use gloves so you don't get any oils on your hands if you have a lot of charring on your peppers you can scrape it some off.
Place peppers, tomatoes, onions, garlic, cilantro, lime juice, sugar, and salt in a food processor. Pulse until blended.
Taste and season with more salt, sugar, and lime juice if needed.
Store in an airtight container in the refrigerator for up to 4 days.
Notes
To Bake: Preheat oven to 400 degrees roast for 15-20 minutes. Then turn on the broiler to char them up a bit if desired. I used Roma tomatoes but you can use any tomato you just may have more seeds in them.The skin on the tomatoes is easy to remove after roasting if you want. I prefer to leave it on.You can also use a blender but you want to just use the pulse button or else you will puree it instead.