Heat the oven to 400ºF. Meanwhile, melt 2 tablespoons unsalted butter in a large Dutch oven or broiler-safe, high-sided skillet over medium heat. Add 1 ½ pounds thinly sliced yellow onions and stir to coat in the butter. Cook, stirring frequently and reducing the heat as needed if the onions start to brown too quickly, until the onions are reduced by half, very soft, and brown and caramelized, about 25 minutes.
Add ½ cup dry white wine and scrape up the browned bits from the bottom of the pan. Cook for about 1 minute. Stir in 3 cups beef broth, 1 cup dried orzo pasta, ½ teaspoon kosher salt, and ¼ teaspoon black pepper; bring to a boil over medium heat.
Reduce the heat as needed to maintain a simmer and cook, stirring occasionally, until the orzo is just al dente, 6 to 8 minutes. Taste and season with more kosher salt as needed.
Nestle 24 small frozen meatballs in a single layer into the orzo. Cover with a lid or aluminum foil. Transfer the skillet to the oven and bake until the meatballs are warmed through, 10 to 12 minutes.
Switch the oven to broil. Uncover and sprinkle with 3 ounces shredded Gruyère cheese. Broil until the cheese is melted and golden brown around the edges, 3 to 5 minutes. Garnish with finely chopped fresh parsley leaves if desired.
