For Spice Rub: Toast peppercorns, coriander, cumin, mustard, cloves. fennel, cardamom, cinnamon, coconut, and chilies in a dry skillet over medium-low heat for 3 to 5 minutes, stirring occasionally until mustard seeds begin to pop. Cool completely and then grind into a powder. Add salt and keep aside.
In a large bowl, mix the beef, yogurt, lemon juice, ginger and garlic pastes, and spice mix. Marinate for 2 to 3 hours, or overnight for best results. Heat oil in a large skillet or Dutch oven over medium heat. Add onion slices and fry until caramelized. Add the marinated beef and water; mix well and cover. Cook on a stove on low heat for 3 to 4 hours until meat is completely tender and juices have soaked into the meat. Stir fry for4-5 minutes on medium-low heat until oil is released from the sides( Important step) Garnish with onion, green chili, cilantro, ginger, and lemon. Serve hot with naan.