Preheat your oven to 375°F (190°C) and spray a baking dish with cooking spray to prevent sticking.
Heat butter and olive oil in a skillet over medium heat. Add sliced onions and cook for 20-25 minutes, stirring occasionally, until golden and caramelized.
Pour in beef broth and cook for an additional 5-10 minutes until the liquid is reduced by half. Set aside to cool.
In a bowl, combine ground beef, breadcrumbs, Gruyere cheese, eggs, garlic, Worcestershire sauce, thyme, salt, and pepper. Mix until well combined.
Stir the cooled onions into the meat mixture, ensuring they're evenly distributed.
Transfer the mixture to a baking dish, shape into a loaf, and bake for 1 hour, or until the internal temperature reaches 160°F (71°C).
Let the meatloaf rest for 10 minutes before slicing to allow the juices to redistribute.