In a skillet over medium heat, heat the olive oil and add the chopped onions. Sauté until they are caramelized and golden brown, about 15-20 minutes. Add minced garlic in the last 5 minutes of cooking. Allow to cool slightly.
In a large bowl, combine ground beef, optional ground pork, breadcrumbs, cooled caramelized onions and garlic, Parmesan cheese, egg, Worcestershire sauce, thyme, salt, and pepper. Mix until well combined.
Preheat the oven to 400°F (200°C). Form the meat mixture into small meatballs (about 1-inch in diameter) and place them on a baking sheet lined with parchment paper.
Bake the meatballs in the preheated oven for 20-25 minutes or until cooked through and browned.
While the meatballs are baking, pour the beef broth into a saucepan and bring to a simmer. Once the meatballs are cooked, transfer them to the broth and let them sit for 5 minutes to absorb the flavors.
Serve the meatballs topped with Gruyère cheese, allowing it to melt over the top before serving.
Notes
Serve the meatballs in a shallow dish with warm broth, garnished with fresh thyme sprigs for an elegant touch.