Make the Nihari Masala (if using whole spices): Dry roast all whole spices for 1–2 minutes. Grind into a powder using a spice grinder. Set aside.
Brown the beef: In a large heavy-bottom pot, heat oil or ghee. Add beef and sauté for 5–6 minutes until browned. Add garlic and ginger paste. Cook for another 2 minutes.
Add masala and onions: Add your prepared Nihari masala (or 2 tbsp store-bought), red chilli, turmeric, coriander, and cumin powders. Stir well. Add crushed fried onions and mix.
Add water and slow cook: Pour in 6 cups of water. Bring to a boil. Cover and simmer on low heat for 4–6 hours until the beef is soft and falling apart. For pressure cooker: cook for 45–60 minutes.
Make the slurry: In a small bowl, mix wheat flour with ½ cup water to make a smooth paste. Add to the pot slowly while stirring to avoid lumps. Let it simmer uncovered for 15–20 minutes until the gravy thickens.
Finish with oil (tarka): In a separate pan, heat 2 tbsp ghee or oil. Add a pinch of garam masala or Nihari masala and pour over the cooked Nihari for an aromatic final touch.