Wash and drain chicken well.
In a wide pot, heat oil and add whole spices: bay leaves, cardamom pods, cinnamon sticks, whole black peppers, and dry red chilies. After about 30 seconds, add the sliced onions and sauté until onions are golden.
Add onion paste, ginger paste, and garlic paste, followed by all the powder spices: salt, turmeric, coriander, red chili powder, and cumin. Add a splash of water to prevent burning. Sauté for about 5 minutes covered, until the oil starts to separate from the masala.
Add the chicken and mix very well. On medium/high heat, cook uncovered for about 10 minutes, stirring frequently. The chicken pieces should no longer be translucent and start to turn opaque.
Now lower the heat, cover, and let the chicken cook. Stir occasionally to prevent sticking at the bottom.
Meanwhile, peel potatoes and cut them into medium/large pieces. See image for size reference. Also, have 2 cups of water boiling on the side.
After the chicken has been cooking for about 20 minutes, you'll notice that it is releasing liquid. Add the potatoes at this point.
Continue cooking covered for about another 15 minutes. At this point you'll notice that most of the liquid that was previously released has been absorbed back. The gravy should be fairly dry.
Now add the 2 cups of boiling water, along with the green chilies (slit, if desired). Cook for about 10 minutes, or until the potatoes are done. As a sign of doneness, look for rounded edges of the potatoes (should no longer be sharp). You can also test one piece to make sure it's not hard inside. The potatoes should be cooked through, but they will fall apart if they're overly soft.
Adjust salt. If you want a thinner gravy, add more water. Finish with a sprinkle of freshly ground cumin powder (optional). Serve with rice and enjoy!