Whisk together the yogurt, lemon juice, turmeric, cumin, garam masala and 1 teaspoon of salt in a large bowl. Add the cauliflower and toss well to coat with the marinade. Add the tofu and gently toss - try to avoid breaking up the tofu. Cover, and refrigerate for 30 minutes or up to 24 hours.
Heat the oven to 425˚F/220˚C. Line a baking sheet with baking/parchment paper and transfer the cauliflower and tofu to it, spreading it out into a single layer. Drizzle generously with olive oil and roast for 20 minutes. Remove from the oven, give it a gentle toss and then reorganize into a single layer and return to the oven until the cauliflower is tender and everything is golden around the edges, another 15 to 20 minutes.
Meanwhile, place a small frying pan (skillet) on medium high heat. Add the ghee or butter and the onions and stir until softened, about 2 minutes. Reduce heat to medium and add the ginger, garlic, chili pepper, cumin seeds and 1/2 teaspoon of salt and stir until the onions are gently golden, 5 to 6 minutes. Remove from the heat. Add the chickpeas and toss them to coat (this flavours the chickpeas; we are not trying to heat them through). Add the remaining 2 tablespoons of lemon juice and season well with black pepper.
To the sheet pan with the hot caulifower and tofu, add the chickpea mixture along with the kale, half the coriander/cilantro, season with salt and black pepper and drizzle with olive oil. Toss to combine, allowing the residual heat soften the kale. To serve, scatter with remaining coriander leaves.
Notes
Kale can be replaced with spinach or mixed salad leaves.