In a large mixing bowl, combine the ground chicken or turkey, breadcrumbs, egg, olive oil, minced garlic, garam masala, chili powder, turmeric, paprika, kosher salt, and black pepper. Use your hands to mix until just combined. Be careful not to overmix, as this can make the meatballs tough.
Using your hands, shape the mixture into meatballs about 1 to 1.5 inches in diameter. Place them on a plate or a baking sheet as you work.
In a large skillet, heat the butter (or olive oil) over medium heat. Once hot, add the meatballs in batches, being careful not to overcrowd the pan. Cook for about 3-4 minutes on each side until they are nicely browned. Remove them from the skillet and set aside.
In the same skillet, add the diced onion and sauté for about 5 minutes, until softened. Stir in the tomato paste, freshly grated ginger, and minced garlic, cooking for another 2 minutes until fragrant.
Sprinkle in the garam masala, ground turmeric, chili powder, paprika, cumin, and cayenne pepper. Stir well to coat the onions in the spices, cooking for an additional minute.
Pour in the crushed tomatoes and chicken broth, stirring to combine. Allow the mixture to simmer for about 5 minutes, letting the flavors meld together.
Reduce the heat to low, then stir in the coconut milk (or heavy cream) and fresh lemon juice. Return the meatballs to the skillet, gently coating them in the sauce. Simmer for an additional 10 minutes, allowing the meatballs to cook through and absorb the flavors of the sauce.
Serve the Tikka Masala Meatballs over rice or with warm naan bread. Garnish with fresh cilantro for a pop of color and freshness.