Melt 2 tbsp butter in a large skillet over low heat. Add the onions and a pinch of salt. Cook for 30-40 minutes, stirring occasionally, until caramelized. Remove from the pan and let cool slightly.
Combine the ground beef, egg, Parmesan, breadcrumbs, garlic, parsley, Worcestershire sauce, half of the caramelized onions, salt and pepper. Mix until combined, then form into meatballs.
Heat 1 tbsp olive oil in the same skillet over medium heat. Sear the meatballs for about 3 minutes per side, until browned. Remove from the skillet and set aside.
Add the remaining caramelized onions and white wine to the skillet. Scrape up the browned bits. Add the beef broth and bring to a simmer. Slowly stir in the cornstarch slurry.
Return the meatballs to the skillet. Simmer 15-20 minutes.
Meanwhile, combine the orzo and chicken broth or water in a separate pan. Bring to a boil, then reduce the heat to medium. Cook for 10-12 minutes, stirring frequently, until liquid is absorbed.
Stir in the butter, heavy cream, Parmesan, garlic powder, salt and pepper.
Serve the meatballs and onion sauce over the creamy orzo. Top with chopped parsley.
