Start by pressing the firm tofu to remove excess moisture. Wrap it in a clean kitchen towel and place a heavy object on top for about 15 minutes.
Once pressed, cut the tofu into bite-sized cubes. In a mixing bowl, combine the cubed tofu with cornstarch, salt, and paprika. Toss gently to coat each piece evenly.
Heat oil in a non-stick skillet over medium heat. Add the tofu cubes to the skillet in a single layer. Cook for 5-7 minutes, flipping occasionally until golden brown on all sides. Remove the tofu from the skillet and set aside.
In the same skillet, melt the plant-based butter. Add the diced onion and sauté for about 3-4 minutes until translucent. Stir in the minced garlic and ginger, cooking for another minute until fragrant.
Add the cumin seeds, coriander powder, garam masala, curry powder, chili powder, and salt to the skillet. Stir well to combine and let the spices toast for about 30 seconds.
Next, add the tomato paste to the skillet, stirring it into the onion and spice mixture. Cook for 1-2 minutes, allowing the flavors to meld.
Pour in the full-fat coconut milk, stirring continuously to create a smooth sauce. Bring it to a gentle simmer.
Return the sautéed tofu to the skillet, coating it well with the sauce. Allow it to simmer for an additional 5 minutes, letting the tofu absorb all the delicious flavors.
Once cooked, remove from heat and garnish with freshly chopped cilantro. Serve your Tofu in Indian Sauce with rice, naan, or enjoy it on its own for a delightful meal.