Drain and discard any water residue from the packaged tofu.
Use a paper towel to remove any extra moisture. If you are not in a hurry, place the tofu wrapped in paper towels under weight (I use an iron skillet) for some time which will help with the removal of the extra moisture.
Once most of the moisture is removed, cut the tofu block into even sized cubes, cut gently so as to avoid the tofu from crumbling or falling apart.
Transfer the sliced tofu cubes to a large bowl and add the following - salt, garlic powder, onion powder, garam masala powder, lemon juice and one tablespoon of oil.
Gently mix the seasoning with the tofu and let this sit for a while (about 15 to 30 minutes) so the tofu will marinate and absorb the added seasoning.
Heat the remaining one tablespoon of oil in an iron skillet or good quality frying pan and add the ginger, stir fry for a minute.
Gently transfer the tofu to the pan. If possible, place the tofu in a single layer.
Let it fry in low heat for about 4 to 5 minutes or until the bottom side of the tofu cubes is lightly fried. At this point, avoid stirring the tofu, to avoid the tofu falling apart, so you need to wait until the bottom side is fried enough.
Once one side of the tofu is lightly fried, use a good quality spatula to flip the tofu and cook the other side too. In another 4 to 5 minutes, the other side will also be almost cooked.
Add the pepper and stir the contents gently. You shouldn't stir much, as the tofu will have a tendency to crumble until its cooked or fried completely. However, since we are making a stir fry, even if some of the tofu pieces crumble slightly, its fine since it all taste good at the end.
Continue cooking the tofu by lightly frying it in the pan until its lightly browned and cooked enough to your liking, for me it took an addition 4 to 5 minutes to finish off the cooking.
Finally, add the curry leaves, gently stir (adding curry leaves will add a wonderful aroma and flavor), serve hot!