Preheat the oven to 425°F. Line a rimmed baking sheet with parchment paper and set aside.
Caramelize the onions: Heat the olive oil in a large skillet over medium heat. Add the onions to the pan and season with ½ teaspoon of the salt. Stir to combine. Cook, stirring occasionally, until the onions are very soft and deeply caramelized, 35 to 40 minutes.
Make a well in the center of the onions and add in the balsamic vinegar and garlic. Stir gently until the garlic becomes fragrant, about 30 seconds, then mix together with the onions until well combined. Continue to cook for another 2 to 3 minutes to let the flavors meld.
Transfer ⅓ cup of the onions to a large mixing bowl and set aside to cool slightly. Remove the skillet with the remaining onions from the heat.
Make the meatballs: To the large bowl with the reserved onions, add 2 tablespoons of the parsley, ⅓ cup of the grated Gruyère, egg, panko, Dijon, 1 teaspoon of the salt, and ¼ teaspoon of the pepper and mix well. Add in the ground chicken and use your hands to mix until well combined. Use a 2-tablespoon cookie scoop or tablespoon measure to portion the mixture into balls (about 18–20 meatballs) and place them onto the prepared baking sheet. Use your hands to roll each meatball until smooth, and spray the tops lightly with nonstick cooking spray.
Transfer the meatballs to the oven to bake until cooked through, 10 to 12 minutes. Then turn the broiler on high and cook until golden brown on top, about 2 minutes. Keep an eye on them as everyone’s broilers vary!
Cook the Orzo: Meanwhile, return the skillet with the remaining onions back up to medium-high. Once sizzling, add the orzo and stir to combine. Add the chicken stock, thyme, ½ teaspoon of the salt, and ¼ teaspoon of the pepper. Raise the heat to high and bring the mixture to a boil, scraping any browned bits from the bottom of the skillet. Once boiling, reduce the heat to medium-low to maintain a gentle simmer, and cook, stirring occasionally, until the orzo is al dente and most of the liquid has been absorbed, about 10 minutes.
Stir in the remaining 1 cup of Gruyère until melted and creamy. Remove from heat and taste to adjust for seasoning if desired.
Nestle the cooked meatballs into the orzo mixture. Garnish with the remaining chopped parsley and a few cracks of black pepper. Serve family style straight out of the skillet, or divide evenly among serving bowls.
