In a large bowl, I mix the ground chicken, breadcrumbs, Parmesan, egg, garlic, Italian seasoning, salt, and pepper. I gently combine everything just until mixed, being careful not to overwork it. Overmixing can make meatballs dense instead of tender.
I scoop the mixture and roll it into small, even-sized meatballs, about one tablespoon each. Keeping them similar in size helps them cook evenly. I usually get around 18 to 20 meatballs from this mixture.
I heat olive oil in a large skillet over medium heat and add the meatballs in a single layer. They cook for a few minutes on each side until lightly browned. At this stage, they don’t need to be fully cooked, just nicely golden.
Once browned, I remove the meatballs to a plate and add the chopped onion to the same pan. Cooking the onion in the leftover oil and browned bits builds extra flavor. I stir until the onion softens and becomes fragrant.
I stir in the tomato paste, then add the dry orzo and chicken broth. Scraping the bottom of the pan releases all the flavorful bits. The orzo begins absorbing the broth almost immediately.
I gently nestle the meatballs back into the pan, cover it, and let everything simmer. The orzo cooks while the meatballs finish cooking, soaking up all the savory flavors from the pan.
Once the orzo is tender, I stir in the fresh spinach and cream. The spinach wilts quickly, and the cream turns the sauce silky and rich. A quick taste lets me adjust the seasoning if needed.