Combine the ground chicken, breadcrumbs, ½ cup onion, cilantro, Greek yogurt, and all meatball seasonings in a large bowl. Mix gently just until combined.
Do not overmix the ground chicken! Portion them out with a 1½-tablespoon cookie scoop. Dampen your hands so the chicken mixture doesn't stick. Gently roll each meatball, and set them aside on sheet pan.
Melt 2 tablespoons butter in a large, deep skillet over medium heat. Working in batches, sear the meatballs for about 4 minutes per side, until golden. Transfer the meatballs to a plate or bowl. Add additional butter as needed between batches and lower the heat if it starts to scorch.
Add 3 tablespoons butter into the skillet and let it melt. Now add in the onion to and cook for 4–5 minutes, until softened. Add garlic and optional ginger; cook for 30 seconds.
Now stir in the seasonings and stir for 15–30 seconds to let them bloom. Stir in the tomato paste and cook for 1–2 minutes. Then add in the tomato sauce, scraping up the browned bits. Reduce the heat to low and slowly stir in the heavy cream.
Return the meatballs and their juices to the skillet. Simmer gently, covered, on low for about 10 minutes, then uncovered for the last 10 minutes. Be sure to stir occasionally. Add a splash of water (1 teaspoon at a time) if the sauce becomes too thick.
Taste and adjust salt. Add up to 1 teaspoon sugar if the tomatoes taste too sharp. Garnish with cilantro and serve with basmati rice and naan. And enjoy!