-
Drain and lightly press tofu with hands to release some of the water. Cut into 1-inch cubes and place in a shallow baking dish. Combine the spices and sprinkle evenly over the tofu. Gently toss to coat. Drizzle the oil and lemon juice over the tofu. Toss gently again. Cover and refrigerate for at least 30-60 minutes, or up to overnight.
-
Heat a non-stick pan over medium-high heat. Add 1 tablespoon oil or ghee and heat until shimmering. Add half of the onion and sauté for 3-5 minutes, until onion starts to soften. Add the minced ginger and garlic. Continue sautéing for another 1-2 minutes, then add the spices. Stir to combine. Cook, stirring constantly, for another 30-60 seconds.
-
Add half of the serrano chiles and cook for a few seconds, then add the tomatoes. Stir well and lower heat just to a simmer. Cover and let cook for 10-12 minutes. Remove from heat and let cool for a few minutes. Transfer the mixture to a blender or food processor and puree until smooth. Set aside.
-
Wipe out the skillet and heat again over medium-high heat. Add the remaining 1 tablespoon oil or ghee. Add the marinated tofu and cook, turning the tofu cubes over so all sides are browned. Transfer the tofu to a plate.
-
Add the remaining onion and the bell pepper to the pan. (Add a little more oil or ghee, or a little water, if needed.) Sauté for 5-7 minutes, or until starting to soften. Add the blended sauce and cook, stirring constantly for 3-5 minutes. Add the water or broth and salt to the pan and stir well. Add the partially cooked tofu and stir again. Lower heat and simmer for 15-20 minutes to allow flavors to blend and sauce to thicken. Taste and add more salt, if needed.
-
Serve immediately with hot basmati rice and naan. Sprinkle with fresh cilantro, if desired.