Prepare the tofu by gently squeezing out excess moisture by wrapping it in paper towels or a clean kitchen towel. Cut the tofu into ¾-inch cubes.
Gently heat 1 tablespoon of oil in a large pan and cook the tofu for about 10 minutes turning frequently until golden brown all over. Drain on kitchen paper and set aside.
Heat the remaining oil over a medium heat in the same large pan.
Add the chopped onions and sauté for about 5 to 7 minutes.
Stir in the ginger and garlic paste and the green chilli paste and cook, stirring for a further 2 to 3 minutes.
Add the salt, stirring for a further 2 to 3 minutes.
Add the turmeric, cumin and chilli powder, cook for 1 minute, stirring well.
Stir in the tomatoes and cook for a further 2 minutes and turn off the heat once simmering.
Remove the contents of the saucepan to a food processor and blitz to a sauce consistency. Return to the pan. Or blend in the saucepan with a stick blender.
Heat the sauce until it is simmering. Add the spinach and stir it in until it wilts then gently stir in the cooked tofu.