Preheat your oven to 400°F (200°C) and line a large baking sheet with parchment paper.
Drain the extra firm tofu and press it firmly between paper towels to remove excess moisture, then cut it into 1-inch cubes.
Place the tofu cubes and cauliflower florets on the prepared baking sheet, drizzle with avocado oil, and sprinkle with sea salt and black pepper.
Toss the vegetables and tofu to coat evenly, then roast for 20 to 25 minutes, flipping halfway through, until the cauliflower is tender and the tofu is golden and slightly crispy.
While the vegetables roast, heat a large non-stick skillet over medium heat and add the minced garlic and grated ginger with a splash of water, sautéing for 1-2 minutes until fragrant.
Stir in the garam masala, turmeric, and cumin, allowing the spices to toast for 30 seconds before adding the tomato puree and chickpeas.
Pour in the remaining water and simmer the sauce on low for 5-7 minutes to allow the flavors to meld.
Gently fold the roasted cauliflower and tofu into the skillet, then add the fresh baby spinach, stirring until the greens are just wilted and the curry is heated through.