Tofu Scramble Egg-Free Biryani
Turmeric-golden tofu scramble, seasoned with sulfurous black salt for a convincing "egg" flavor, is layered with par-cooked basmati rice, peas, mint and caramelized onions, then steamed in one skillet. It's a fully vegan, fragrant biryani.
- Prep
- 23 min
- Cook
- 58 min
- Wait
- 40 min
- Total
- 2 hr 1 min
- Makes
- 4 generous servings (about 8 cups)
Steps
Before you start
- Use extra-firm or firm tofu (not silken). Softer tofu turns mushy and won't scramble into distinct curds.
- Black salt (kala namak) is sold at Indian grocers and online. It smells strongly of sulfur, which is what gives the egg-like flavor. Add it only at the end because heat dulls it.
- The skillet must be at least 12 inches (30 cm) wide and 3 inches (7.5 cm) deep with a tight-fitting lid. If your lid is loose, use foil under it.
- Read the timing: the rice soaks for 30 minutes, so start there and prep everything else while it sits.
Soak rice, press tofu
- Rinse the basmati in a bowl of cold water, swirling and draining 4 to 5 times, until the water is almost clear.
- Cover with fresh cold water and soak for 30 minutes.
- While it soaks, wrap the tofu in a clean towel, set it on a plate, and weight it with a heavy skillet or cans for at least 15 minutes.
- If using saffron, warm the plant milk, crumble in the saffron and leave it to steep.
+ Show details− Hide details
Ready when: Soaked grains look opaque white and break easily when pressed; tofu feels noticeably drier and has released a few tablespoons of liquid
Tip: Don't skip the soak. Unsoaked rice cooks unevenly and breaks.
Prep the aromatics
- Thinly slice the onions, grate the ginger and garlic, slit the chilies, chop the tomato, mint and cilantro.
- Crumble the pressed tofu by hand into uneven ½-inch (1-cm) pieces and set aside.
- Drain the soaked rice well in a sieve.
+ Show details− Hide details
Ready when: Everything is chopped and within reach of the stove
Tip: Crumbling by hand gives ragged edges that grab the masala better than cubes.
Brown the onions
- Heat the oil in the 12-inch skillet over medium-high heat until it shimmers.
- Add the cumin seeds and let them sizzle for 20 seconds.
- Add the sliced onions and ½ teaspoon of the masala salt.
- Cook, stirring every minute or so, for 12 to 15 minutes until deep golden brown with dark edges.
- Lower the heat to medium if they darken too fast.
- Scoop out about one third of the onions onto a plate for garnish.
+ Show details− Hide details
Ready when: Onions are deep golden brown, soft and sweet-smelling, with some crisp dark edges
Tip: Pale onions mean a bland biryani, so be patient. If they stick, splash in 1 tablespoon water.
Build the masala
- Reduce heat to medium.
- Add the ginger, garlic and green chilies and stir for 1 minute until fragrant.
- Add the tomato, turmeric, coriander, chili powder and the remaining salt.
- Cook for 4 minutes, mashing the tomato with your spoon, until it breaks down into a jammy paste and oil begins to separate at the edges.
- Turn heat to low, stir in the yogurt and cook for 2 minutes more.
+ Show details− Hide details
Ready when: Paste is thick and glossy, with no raw tomato smell and small beads of oil at the edges
Tip: Keep the yogurt at room temperature and the heat low so it doesn't split.
Scramble the tofu
- Raise heat to medium-high.
- Add the crumbled tofu and stir gently to coat it in the masala.
- Cook for 5 to 6 minutes, stirring often and scraping the bottom, until the tofu is evenly golden yellow and most of the moisture has cooked off.
- Stir in the thawed peas and garam masala and cook 1 minute.
- Remove from heat and stir in the lemon juice and black salt.
- Taste and add a pinch of regular salt if needed.
- Spread the mixture evenly across the skillet.
+ Show details− Hide details
Ready when: Tofu looks like soft-scrambled egg: golden, slightly dry, and clinging to the masala, with no pooling liquid
Tip: Add black salt off the heat. Its eggy aroma fades when cooked for long.
Par-cook the rice
- While the tofu cooks, or right after, bring the 8 cups (1.9 liters) water to a rolling boil in the large saucepan with the tablespoon of salt, bay leaf, cardamom, cloves and cinnamon stick.
- Add the drained rice and boil, uncovered, for 5 to 7 minutes.
- Drain immediately in the sieve and discard the whole spices if you like.
+ Show details− Hide details
Ready when: A grain bitten in half has a firm white dot in the center and the outside is soft (about 70% cooked)
Tip: Don't cook the rice longer. It finishes in the steam, and fully cooked rice turns mushy.
Layer the biryani
- Spoon half the rice over the tofu in an even layer without pressing it down.
- Scatter over half the mint and cilantro and half the reserved browned onions.
- Add the remaining rice in a loose mound, then top with the remaining herbs and onions.
- Drizzle the saffron milk (if using) in a few spots over the top.
+ Show details− Hide details
Ready when: Rice sits in two loose layers on the tofu, with herbs and onions between
Tip: Keep the rice fluffy. Packing it down makes it gummy.
Steam on dum
- Cover the skillet with a tight lid (put a sheet of foil under the lid if it fits loosely).
- Cook over the lowest heat for 20 minutes without lifting the lid.
- If your burner runs hot, place the skillet on a flat griddle or heat diffuser to prevent scorching.
+ Show details− Hide details
Ready when: Steam escapes around the lid edge and you smell toasty spices, with no burnt smell
Tip: Lifting the lid releases the steam and leaves the rice undercooked.
Rest the pot
- Turn off the heat and leave the skillet covered for 10 minutes so the rice firms up and the moisture distributes.
+ Show details− Hide details
Ready when: Rice grains are fully tender with no hard center
Fluff and serve
- Remove the lid.
- Use a fork or wide spoon to gently fold the layers together from the edges inward, lifting from the bottom so the yellow tofu streaks through the rice.
- Serve hot, with extra mint on top, and with vegan raita or sliced cucumber and tomato on the side.
+ Show details− Hide details
Ready when: Grains are long, separate and fluffy, streaked golden, with no wet clumps
Tip: Fold gently. Stirring hard breaks the long grains.
Good to know
Tips
- Pressing the tofu is what makes the scramble curdy rather than watery; don't skip it.
- Basmati should be aged and long-grain. Rinse until the water is nearly clear to remove surface starch.
- If the bottom layer starts to smell scorched during steaming, move the skillet to a smaller burner or use a heat diffuser.
- For extra richness, finish with 1 tablespoon of vegan butter or ghee-style oil drizzled over the rice before steaming.
Make ahead
The tofu scramble masala (through the end of the scramble step) can be made up to 2 days ahead and refrigerated; add the black salt and lemon only after reheating. Rinse and soak the rice up to 1 hour in advance. Par-cook and layer just before steaming.
Storage & reheating
Room temperature: up to 2 hours. Refrigerator: airtight container up to 4 days. Freezer: up to 2 months in portions. Reheat single servings in a covered skillet over low heat or in the microwave with 1 tablespoon of water per serving for 2 to 3 minutes, stirring halfway, until steaming hot.
Substitutions
- black salt (kala namak) → regular kosher salt plus an extra ¼ teaspoon turmeric. You'll lose the eggy sulfur flavor but the biryani is still delicious.
- unsweetened plain vegan yogurt (soy or coconut) → 2 tablespoons tomato paste mixed with 6 tablespoons water, plus 1 teaspoon lemon juice. Gives acidity and body without dairy-free yogurt.
- frozen green peas → diced carrots or green beans, cut into ½-inch (1-cm) pieces. Cook them 3 minutes with the tofu before adding the garam masala.
- garam masala → 2 teaspoons store-bought biryani masala. Reduce chili powder to ½ teaspoon as biryani masala is often spicy.