Make the masala:
Heat half a tablespoon of oil. Add the cloves, cinnamon, black cumin, coriander seeds, fennel seeds, black peppercorns and red chilies and saute until the coriander is a few shades darker and the spices are fragrant.
Add the onions and garlic with a pinch of salt. Saute, stirring frequently, until the onions start to brown.
Add the coconut (thaw first if frozen). After adding the coconut, don't wander away because coconut can burn fast. Stir frequently until the coconut's turning pale blonde and toasty.
Transfer the mixture to a blender, add a cup of water, and blend into a smooth paste.
Make the curry:
Heat the remaining oil. Add the onions and some salt and saute until they start to brown.
Add the tomatoes, turmeric, and paprika, if using. Stir to mix, cover with a lid, and let it all cook until the tomatoes are quite mushy.
Add the ground masala and stir well to mix. If the curry is really thick, add some water to thin it out.
Bring the curry to a boil, add salt, then add the grated nutmeg and tofu cubes. Stir well to mix.
Let the tofu poach in the curry over medium-low heat, about 8 minutes.
Squeeze in the lemon juice and add the coriander leaves.
Serve hot with some rice.