Prepare a cutting board with a layer of paper towels. Place the tofu on top of the paper towels and top with another layer of paper towels. Place a heavy book or skillet on top of the tofu to squeeze out the excess water. Cut into cubes.
Place the oil in a large pot or deep skillet over medium-high heat. Add the mustard and cumin seeds and cook for about 1 minute, or until they begin to pop.
Reduce heat to medium. Add the artichokes to the pot and cook 6-8 minutes, or until soft and translucent. Season the artichokes with the asofoetida, ginger, curry powder and cayenne pepper and cook for 1 minute more, stirring constantly.
Add the cauliflower florets, cubed tofu, canned tomatoes with their juices and broth. Stir well and bring to a boil. When the mixture boils, turn heat down to medium-low, cover the pot and simmer for about 5 minutes. Add the chickpeas to the pot. Season with salt, add the tofu sour cream and simmer, covered, for about 10 minutes.