Drain, rinse, and press the tofu in order to remove as much moisture as possible. Set aside.
Mix together the chickpea flour and 120 ml (½ cup) cashew milk until you have a smooth batter. Set aside. (I find it's easiest to do this with a blender.)
Place the spinach, chilli, and another 120 ml (½ cup) cashew milk into the blender, and blitz for 30 seconds or so, until you have a purée. I like mine to be a little coarse but if you want yours to be completely smooth, then just blend for another few seconds.
Over a medium flame, heat 2 tbsp oil in a wok or kadai, and splutter the cumin seeds, Indian bay leaf, and curry leaves for 30 seconds or so.
Add the onion to the pan, and fry for around 5 mins, until it starts to turn translucent.
Add the garlic and ginger paste, plus the Kashmiri chilli powder, and continue to fry for another 3-5 mins, until the raw aroma has gone.
Stir in the turmeric and white pepper, and cook for another minute.
Add the spinach purée, the rest of the cashew milk, salt, a pinch of coconut sugar, and the chickpea batter (give it a quick stir before adding). Mix everything together well, lower the heat slightly, and cook for 15 minutes, stirring occasionally, until the gravy has thickened slightly.
While the gravy is cooking, cut the tofu into cubes, and fry in the remaining tbsp of coconut oil. Make sure each face is a a pale golden brown. You'll probably need to do this in two batches unless you're using a very large skillet.
Mix the cashew cream into the gravy, and then stir in the fried tofu cubes. Turn the heat right down, and allow the tofu to heat through for a couple of minutes.
Turn off the heat, and rub the methi (fenugreek leaves) between your palms over the curry - this releases their oils, and adds more flavour. Add a squirt or two of lime juice, give the whole thing one last stir, and then serve.