PakistaniMedium · Hot
Hours on low heat is what turns tough beef into something that pulls apart without protest, the broth deepening with turmeric, cayenne, garlic, and onion into a gravy that is almost too good to eat without bread. Ginger is added twice — once early for body, then again at the end as long thin threads laid over the top for fragrance and a little clean heat. This is the dish Bilal grew up eating at dawn, and it still asks for patience.
20 min
3h
10 min
3h 30m
Method
Heat sunflower oil in a heavy pot or karahi over high heat. Season beef cubes with half the spice blend and sear in batches until deeply browned on all sides, about 4 minutes per side. Remove and set aside.
In the same pot, add sliced yellow onion and cook over medium-high heat, stirring occasionally, until caramelized and golden, about 12 minutes.
Add chopped tomatoes and cook down until soft and incorporated, about 5 minutes.
Using a vegetable peeler or sharp knife, cut fresh ginger into paper-thin julienne strips. These will garnish the finished nihari.
Ladle the slow-cooked beef nihari over steamed basmati rice. Top generously with julienned ginger threads and fresh cilantro. Serve immediately while piping hot.
Nutri-Score
Excellent balance
A–E · lower is better · score -1
Calories
1134
per serving
Protein
66g
Carbs
96g
Fat
55g
Sat. fat
8g
Fiber
5g
Sugar
9g
Sodium
1246mg
Nutri-Score is a general nutritional-balance guide, not medical or dietary advice.
Environmental impact
Very high impact
A–E · lower is better · includes estimates
kg CO2e
21
per serving
Water
2.2m³
Land
400Pt
Runoff
0.3g P
Beef Steak, cubed drives 96% of this recipe’s estimated footprint.
Carbon from Poore & Nemecek 2018; water, land & runoff from Agribalyse — modelled averages for comparing recipes, not a measurement of your groceries.
Flavor Profile
Umami
Sweet
Salty
Sour
Bitter
Spicy
Textures
Aromas
Kitchen Equipment
Primary Tool
WokSafety & Storage
Cooking Temperature
Bring nihari to a rolling boil before reducing to simmer for the full 2.5-3 hours to ensure beef reaches safe internal temperature.
Do not boil the nihari after adding tempered yogurt as this will cause the yogurt to curdle and separate.
Handling
When tempering yogurt, drizzle the hot oil-garlic mixture in very slowly while whisking constantly to prevent the yogurt from scrambling.
Cross Contamination
Use separate cutting boards and utensils for raw beef and ready-to-eat components like fresh ginger threads and cilantro.
Wash hands thoroughly with soap and water after handling raw beef before touching other ingredients or cooking surfaces.
Storage
Refrigerate leftover nihari within 2 hours of cooking. Store in airtight containers and consume within 3-4 days.
When reheating, bring nihari to a full boil (212°F/100°C) for at least 1 minute to ensure food safety.
Allergen Warning
This dish contains dairy (yogurt). Individuals with milk allergy or lactose intolerance should avoid or use a dairy-free alternative.
High Risk Population
This dish contains hot spices (cayenne) and dairy. Use caution when serving to young children, elderly individuals, pregnant persons, or those with sensitive digestive systems.
Pro Tips
Technique
Never rush the browning step. Each piece of beef needs to sit undisturbed for 4 minutes per side — that deep sear creates the rich, caramelized foundation that makes the whole stew sing.
Substitution
If you can't find beef steak, bone-in beef short ribs work beautifully and add even more gelatinous body to the gravy as they slow-cook.
From the chef
Nihari demands hours and rewards every one of them — tough beef cubes seared hard then surrendered to a low, slow simmer with cumin, cayenne, turmeric, and cinnamon until the meat pulls apart without protest and the broth deepens into a gravy almost too good to eat without bread. Ginger is added twice: grated in early for body, then julienned into paper-thin threads at the very end for fragrance and clean heat. The tempered yogurt swirled in at the close ties it all together. Plate it over basmati and serve it piping hot — this dish was never meant to wait.
Source: generated · May 30, 2026