Preheat your grill or a grill pan over medium-high heat. Rub the flank steak with 1 tablespoon of olive oil, salt, and black pepper.
Grill the steak for about 4-5 minutes per side for medium-rare, or until it reaches your desired doneness. Remove from the grill and let it rest for 5-10 minutes before slicing.
While the steak is resting, heat the remaining tablespoon of olive oil in a large skillet over medium heat. Add the sliced onions and cook, stirring occasionally, for about 15-20 minutes until they are caramelized and golden brown. Add the balsamic vinegar and stir to combine, cooking for an additional 2 minutes. Remove from heat.
In a large bowl, combine the mixed salad greens and cherry tomatoes. Toss gently to mix.
Slice the rested steak against the grain into thin strips.
To serve, divide the salad mixture among plates, top with caramelized onions, sliced steak, blue cheese, and walnuts if using.