Preheat oven to 425 degrees F. Line a large baking sheet with parchment paper and set aside.: You will notice the kitchen start to warm as the oven comes up to temperature, which is important to ensure the meatballs bake evenly and develop a light crust. A properly preheated oven gives consistent browning and prevents the meatballs from taking on a steamed texture. One common mistake is placing cold meatballs into an underheated oven, which can lead to uneven cooking, so wait until the oven reaches the full temperature before sliding the tray in.
In a large bowl, combine the ground chicken (or turkey), breadcrumbs, egg, oil, garlic, garam marsala, chili powder, turmeric, paprika, salt, and pepper. Using your clean hands, work the mixture until evenly combined.: As you mix these ingredients, pay attention to the texture; the mixture should feel cohesive but not paste like. The scent of raw garlic and warm spices should be present but not overpowering, indicating even distribution. Use gentle motions to avoid compacting the meat, because overworking can make the final meatballs tough. A trouble to avoid is adding too much liquid at this stage, which will make shaping difficult and may cause them to fall apart during cooking.
Using a cookie scoop, scoop about 1 1/2 tablespoons of the mixture into your palms and roll it into a ball. Place the ball on the prepared baking sheet. Repeat with the rest of the mixture, spacing the meatballs out onto the baking sheet, about 2 inches apart.: The meatball should feel slightly springy when you roll it, with no loose crumbs falling away. Rolling by hand warms the mixture slightly, which helps the meatbinders activate, and you should see a smooth surface form. If the balls feel too loose, chill the mixture for 10 minutes, because a firmer mix shapes better. Avoid packing the meatball too tightly, as that will create a dense interior rather than a tender one.
Bake the meatballs for 18 to 22 minutes, flipping halfway through, or until cooked through.: Lining the tray with parchment prevents sticking and makes cleanup easy, while spacing ensures hot air circulates around each meatball, promoting even browning. You might hear a faint sizzle once they hit the hot tray as the fat warms, which is a good sign. Crowding the tray is a common error that leads to steaming rather than baking, so keep that 2 inch gap to maintain crisp edges.
While the meatballs are baking, make the sauce. In a large skillet or Dutch oven, melt the butter over medium heat. Add the onion and cook until tender, about 3 to 5 minutes.: During baking you should see the meatballs firm up and take on light golden shoulders where heat kisses their surface. Flipping halfway ensures both sides develop color and prevents one side from overbrowning. Use an instant read thermometer for certainty, aiming for 165 degrees F in the center if using poultry. A frequent misstep is removing them too early; undercooked meatballs will be soft and unsafe, while overbaking dries them out, so watch the time closely.
Stir in the tomato paste, ginger, garlic, garam masala, turmeric, chili powder, paprika, cumin, and cayenne pepper and cook until well combined, 1 to 2 minutes.: As the butter melts, it should go glossy and fragrant, and the diced yellow onion will begin to soften and release sweetness. You want the onion to become translucent and slightly tender, which takes about a few minutes and builds the foundation for the sauce. Stir frequently to prevent the onion from sticking or browning too much, because burned onion will introduce bitterness instead of sweetness.
Stir in the tomatoes and chicken broth. Bring to a boil; reduce the heat and simmer, stirring occasionally, until sauce is slightly thickened, about 10 minutes.: At this stage the aroma will shift as the spices bloom in the fat, releasing oils that heighten flavor. The paste should darken slightly and cling to the pan, which indicates it is caramelizing and deepening in taste. Cook just long enough for the raw edge from the spices to mellow; overcooking can make them taste flat or burned, so keep the heat moderate and stir constantly to distribute the flavors.
Stir in the cream and lemon juice. Add the meatballs to the pan and cook until heated through, about 3 to 5 minutes.: Once the crushed tomatoes hit the pan you will see a bubbling stage, and reducing to a simmer mellows the acidity and concentrates the sauce. Stir occasionally so the bottom does not scorch, and watch for a texture that coats a spoon, signaling it has reduced enough. A common error is rushing this step; insufficient simmering yields a watery sauce, while too long can dry it out, so aim for a gentle, steady reduction.
Serve the meatballs and sauce with rice and naan, if desired.: Adding the coconut milk or heavy cream will immediately soften the sauce, turning it creamier and silkier, while the splash of lemon juice cuts through that richness with a bright note. The sauce should shimmer and thicken slightly after these additions, and tasting now lets you adjust salt or acidity. Avoid boiling vigorously after adding cream, because high heat can cause separation; keep it at a low simmer for a silky finish.
Add the meatballs to the pan and cook until heated through: As the meatballs nestle into the sauce, you should hear a soft bubbling and see the sauce cling to their sides. This final gentle simmer lets the flavors meld and ensures the interiors are fully warmed. Stir carefully to coat each meatball without breaking them up, and simmer just a few minutes so they remain tender. A common problem is simmering too long, which will leach moisture from the meatballs and make them dry, so aim to warm them through rather than cook them further.
Serve the meatballs and sauce with rice and naan, if desired: When plated, the sauce should spoon over the Rice and the Naan bread should be warm and soft, perfect for scooping. Garnish with the Fresh cilantro, for garnish and perhaps an extra squeeze of lemon for brightness. If the sauce seems too thin, let it simmer briefly to thicken; if too thick, stir in a splash of chicken broth to loosen it gently before serving.