In a small bowl, combine onion, bell peppers, garlic, thyme, oregano, 1 tablespoon salt, sugar, 1 teaspoon black pepper, and vinegar. Whisk in vegetable oil.
Add steak to a gallon-size resealable plastic bag or other container. Pour in marinade and refrigerate overnight.
One hour before serving, remove steak from refrigerator and allow it to sit at room temperature.
Preheat a grill to high.
Remove steak from marinade. Discard marinade. Season steak with remaining teaspoon salt, 1/2 teaspoon pepper, and olive oil. Grill steak for 7 to 8 minutes per side for medium-rare. (Flat-iron steak is at its best if you do not cook it past medium.) Remove steak from grill and let it rest 5 minutes, then thinly slice steak across grain and serve it with Avocado, Tomato, and Red Onion Salad.
Cook's Note: Instead of using the onion-pepper mixture as a marinade, you can use half to baste the steaks and the other half as a dressing for the salad.