If it hasn’t been pressed, press the tofu for at least 15 minutes, then tear it into bite-sized pieces.
Heat the teaspoon of oil in a large skillet over medium heat. Once the oil is hot, add the tofu, garam masala, and cinnamon. Mix everything really well, so the tofu is evenly coated with the spices and oil. Continue to cook, until the tofu is golden on most edges, about 4 to 6 minutes. Remove the tofu from the skillet and set it aside.
In the same skillet, heat another teaspoon of oil over medium heat. Add the cumin seeds, coriander seeds and fennel seeds. Cook for a few seconds, then add the onion and a good pinch of salt. Cook the onion until it starts to turn translucent.
Add the ginger and garlic, mix well, and continue cooking until the onion becomes golden, about 7 to 9 minutes total.
Mix the pumpkin seeds, poppy seeds, tomato, and ½ teaspoon of salt into the skillet. Cook until the tomatoes turn jammy, pressing any larger pieces to help them break down, about 5 minutes.
Cool this mixture, then transfer it to a blender. Add the coconut milk to the blender and blend until the mixture becomes smooth. To fully incorporate the poppy seeds, let the mixture sit for 5 minutes between 30 second blending cycles. Repeat the blending process 2 to 3 times until the mixture is somewhat smooth and you don’t see too many whole poppyseeds.
Pour the blended mixture back into the skillet over medium heat and bring it to a boil. Add the tofu, water, paprika, cayenne, the remaining salt, and the sugar. Mix well, then reduce the heat to medium-low. Cook, stirring occasionally, until the sauce thickens and the tofu picks up some of the color of the sauce, about 15 to 20 minutes.
Switch off the heat, and let it sit for a few minutes before garnishing with non-dairy cream, cilantro, or a squeeze of lemon juice. Serve the dish with naan, flatbread, rice, quinoa, or use it as a filling for wraps or pizza.
