Place the garlic, ginger, cumin seeds and green peppers in a mortar and pestle, or in a food processor, and crush to a coarse paste.
Bring a large pot of salted water to a boil. Add the cauliflower florets, bring back to a boil, cover, and cook five minutes. Drain the cauliflower immediately, separate into smaller florets when cool enough to handle, and set aside.
Make sure the pot is dry, then add the oil and heat. Add the ginger-garlic paste, saute for 30 seconds, then add the fennel seeds and coriander along with the onions. Continue to saute for about five minutes or until the onion is translucent.
Add the potatoes along with the tomatoes and turmeric, stir to mix, cover the pot and let it all cook about 10 minutes or until the tomato turns a few shades darker and the potatoes are almost cooked.
Add the cauliflower along with 2 cups of vegetable stock or water. Stir in the garam masala. Bring to a boil, cover the pot, and continue cooking another 10 minutes, stirring once or twice. Use more liquid if you want a saucy preparation.
Check salt and turn off the heat once the potatoes are cooked. The cauliflower should be fork-tender but not mushy. Garnish, if you wish, with some chopped scallions or more cilantro.