Place the 2 cups water, tea bag, and bay leaf into a pot, and bring water to a boil. Reserving about 1/2 cup garbanzo beans, stir the beans into the boiling water. When beans are heated through, discard the tea bag and bay leaf. Remove from heat. Drain the beans, reserving water, and set aside.
Heat 2 teaspoons oil in a skillet over medium heat, and saute the sliced onion until tender. Remove from heat, cool, and mix in the reserved garbanzo beans, 1 tomato, and 1/2 the cilantro leaves. Set aside.
Heat the remaining oil in a skillet over medium heat. Blend in the coriander, cumin seeds, ginger, and garlic. Cook and stir for 15 to 20 seconds, until lightly browned. Mix in the turmeric. Stir the chopped onion into the skillet, and cook until tender. Mix in the remaining tomatoes. Season with salt, cayenne pepper, and garam masala. Bring the tomato liquid to a boil, and cook about 5 minutes. Stir in the boiled garbanzo beans, sliced onion mixture, and enough of the reserved water to attain a thick, gravy-like consistency. Continue to cook and stir 5 minutes. Garnish with the remaining cilantro leaves to serve.