Combine the onion, ginger, garlic, coriander, turmeric, and one tablespoon of whole black peppercorns in the bowl of a food processor. Grind until it forms a paste, then toss with chicken pieces and refrigerate for one hour.
Heat 1 tablespoon of ghee or oil in a large skillet over medium-high heat. Saute the chicken for 4 to 5 minutes, or until cooked through. Set aside.
Wipe out the pan with a paper towel, then add the remaining tablespoon of oil or ghee. Add the cinnamon stick and whole cloves to the oil and cook over medium heat for 3 to 4 minutes to infuse the oil. Remove and discard cinnamon stick and cloves.
Add the remaining tablespoon of peppercorns (either whole or crushed, according to your taste) and the pureed tomatoes to the pan. Cook three minutes, stirring, then return cooked chicken to the pan. Toss the chicken in the sauce and cook until heated through, about three minutes. Taste and add salt as needed. Serve with basmati rice and garnish with cilantro leaves.