Soak cauliflower florets in water for 30 minutes & drain. Blend ginger & onion along with 4 tb water until smooth. Set aside. Heat oil in a skillet over medium heat until hot. Stir-fry garlic until it turns medium brown. Put in the cauliflower florets & stir-fry for 2 minutes. Remove the cauliflower with a slotted spoon & put in a pot. Fry the paste from the blender for 1 minute. Add cumin, coriander & tomatoes. Stir-fry until it changes color, reducing heat if necessary to prevent burning. Add turmeric, cayenne, green chili, lemon juice & salt. Sprinkle with water if necessary to prevent sticking. Turn heat to low. Return cauliflower to skillet with whatever liquid may have collected as it drained. Mix gently. Add 3 tb water & bring to a simmer. Cover & cook over gentle heat for 5 to 10 minutes. The cauliflower should be just done. Remove lid, sprinkle garam masala over the top. Stir to mix.