Thinly slice the yellow onion and the beef flank steak into bite-sized strips.
In a medium pot, heat the olive oil over medium-low heat and add the onions.
Cook the onions slowly for 15-20 minutes, stirring occasionally, until they are deep golden brown and caramelized.
Increase the heat to medium and add the beef strips, sea salt, black pepper, and dried thyme, searing the beef until browned.
Stir in the balsamic vinegar to deglaze the pot, then pour in the beef bone broth.
Bring the soup to a gentle simmer for 10 minutes to allow the flavors to meld.
While the soup simmers, toast the sourdough slice until crisp.
Ladle the hot soup into an oven-safe bowl, place the toasted bread on top, and sprinkle with the shredded Gruyere cheese.
Place the bowl under a broiler for 1-2 minutes until the cheese is melted and golden brown.