In a large bowl, combine the chicken, egg, bread crumbs, tomato paste, salt, pepper, garam masala, and cilantro until well incorporated. Shape into meatballs about the size of a golfball. Set a large skillet with high sides over medium-high heat with the ghee. Once hot, sear the meatballs in batches, for about 8 minutes, turning over halfway. Transfer to a plate and continue browning the rest of the meatballs. You don't need them to be fully cooked, just brown in color. They'll continue to cook later on.
Add the remaining tablespoon ghee or oil to the same skillet over medium-high heat. Once hot, add in the onion, garlic, and serrano peppers and cook until softened, about 3 to 5 minutes. Stir in the ginger, spices, and tomato paste. Stir and cook for about 1 to 2 minutes, or until the tomato paste has darkened. Stir in the canned tomatoes. Cover and cook until just beginning to simmer. Stir in the cilantro and half and half.
Place the meatballs into the sauce, lower the flame and simmer until the sauce has reduced slightly and thickened and the meatballs have fully cooked through, about 30 to 40 minutes. Serve the masala with cooked basmati rice and naan. Garnish with fresh cilantro. Enjoy!