Heat a skillet over medium heat and add olive oil.
Once hot, add the sliced onions, salt, and pepper. Cook for about 15 minutes, stirring occasionally, until the onions are caramelized and golden brown.
Stir in garlic powder, thyme, and balsamic vinegar, then remove from heat and let cool slightly.
Lay the flank steak slices flat on a clean surface.
Spread a thin layer of the caramelized onion mixture over each slice of steak.
Sprinkle shredded Gruyère cheese and chopped parsley on top of the onions.
Starting from one end, tightly roll up each slice of steak into a pinwheel shape.
Secure the ends with toothpicks or tie with kitchen twine to hold the shape.
Preheat your grill or a grill pan over medium-high heat.
Place the pinwheels on the grill and cook for about 4-5 minutes on each side, or until the steak is cooked to your desired doneness.
Remove from the grill and let rest for a few minutes before removing toothpicks or twine.
Slice the pinwheels into bite-sized pieces and serve warm.