Heat half of the oil in a cast iron pan over medium heat and cook tofu for 5-6 minutes, flliping, until golden brown on all sides. Remove and set aside.
Heat the remaining oil in a saucepan, add cumin seeds, chilies, ginger, turmeric, and garam masala if using.
Stir well. Add the peppers and cook for 5 minutes covered.
Add the tomatoes and cook for 5-7 minutes. Add the tofu, season with salt and pepper then simmer for 10 minutes.
Add water if necessary. Serve with flatbreads or rice.
Notes
Use fresh tomatoes in place of canned tomatoes. Add cilantro for flavor and garnishing.