Coat the bottom of a medium skillet with about 4 tablespoons of oil. You want a depth of about ⅛ inch. Place the skillet over medium heat.
While the oil heats up, place the cornstarch into a bowl and add the tofu cubes. Lightly dredge each tofu cube in the cornstarch.
Once the oil begins to shimmer, add the tofu cubes in an even layer. Make sure to leave a bit of space between them to prevent them from sticking together. Cook the tofu for 4 to 5 minutes on each side, until golden brown and crispy. Transfer them to a plate when done.
If the skillet is dry, add another tablespoon of oil (Note 2). Turn the heat up to medium-high and give the oil a minute to heat up, then add both bell peppers and the onion. Cook the peppers and onion for about 4 minutes, until the onion starts to soften and brown, and the peppers brighten in color and begin to blister.
Push the peppers and onions to the side. Add the garlic, ginger, serrano pepper, paprika, coriander, cumin seed, ground cumin, and turmeric. Cook the mixture for about 30 seconds, stirring constantly, until very fragrant.
Stir in the tomatoes, then the Kashmiri chili powder and let the mixture simmer for about 5 minutes, stirring frequently, until the sauce thickens.
Add the tofu back into the skillet and gently stir until it's coated in the sauce.
Remove the skillet from heat and add the garam masala, then season the mixture with salt to taste. Sprinkle with fresh cilantro.
Divide onto plates and serve with rice.