Preheat oven to 400°F. Using your hands, crumble tofu into bite-size pieces onto a rimmed baking sheet. Gently toss the crumbled tofu with 2 tablespoons oil, cornstarch, 1 teaspoon garam masala and ½ teaspoon salt until evenly coated. Bake, stirring once halfway, until lightly golden with crispy edges, about 30 minutes.
Meanwhile, heat the remaining 1 tablespoon oil in a medium Dutch oven over medium heat. Add onion, jalapeño, ginger and garlic; cook, stirring often, until softened, about 5 minutes. Stir in curry powder and the remaining ½ teaspoon each garam masala and salt. Cook, stirring constantly, until fragrant, about 30 seconds.
Stir in tomatoes and coconut milk. Bring to a simmer over medium heat; simmer until flavors meld, about 5 minutes.
Ladle the mixture into a blender. Secure the lid on the blender and remove the center piece to allow steam to escape. Place a clean towel over the opening. Process until smooth and creamy, about 1 minute. (Use caution when blending hot liquids.) Return the pureed mixture to the pot. (Alternatively, use an immersion blender to puree the mixture in the pot until smooth, about 2 minutes.)
Add the baked tofu, water, peas and spinach. Cook over medium heat, stirring occasionally, until the peas are tender and the spinach is wilted, 3 to 5 minutes.
Divide rice among 4 bowls; top with the curry. Garnish with cilantro, if desired.
