Heat the olive oil and butter in a large skillet over medium heat. Add the sliced onions and cook, stirring occasionally, for 15-20 minutes until they become soft and caramelized.
In the same skillet, add the beef strips, garlic powder, dried thyme, salt, and pepper. Cook for 5-7 minutes until the beef is browned on all sides.
Pour in the beef broth and bring the mixture to a simmer. Reduce the heat to low, cover, and let it cook for 20 minutes, allowing the flavors to meld.
Meanwhile, cook the egg noodles according to package instructions until al dente. Drain and set aside.
Once the beef mixture is done cooking, combine it with the drained egg noodles in the skillet. Stir well to ensure the noodles are coated with the sauce.
Transfer the beef and noodle mixture to an oven-safe dish. Top with shredded Gruyère cheese and grated Parmesan cheese.
Preheat the oven to broil. Place the dish in the oven and broil for 3-5 minutes, or until the cheese is bubbling and golden brown.
Remove from the oven and let it sit for a few minutes before serving.