Place a large pot (which has a lid) on medium-high heat and add oil.
When shimmering, add onions. This is where some patience is required; sauté the onions continuously for 10-15 minutes. Slow and steady. They should be wilted and golden brown along the edges. (Make sure they are not burnt). This is the most important part of this recipe!
When onions are golden brown, add garlic and ginger and continue to sauté for 2-3 minutes.
Add turmeric, ground coriander, ground cumin, and chili flakes. Mix to combine, then add tomato sauce. Stir/sauté (bhuno) for 3-5 minutes.
Add potatoes, green chilies, 1 tsp salt, and 1 cup of water, then turn heat to low and cover with a lid.
The cooking time will depend on the type of potatoes you are using. Allow to cook till potatoes are fork tender. Depending on the type of potatoes you are using, this should take 15-20 minutes. Make sure to check that the potatoes and gravy isn’t catching on the bottom of your pan.
When potatoes are fork tender, take a potato masher and gently mash a few potatoes (not the entire pot of potatoes). Mix into the gravy. This makes the gravy thick and DELISH.
Add second cup of water and allow to gently simmer, without lid. Taste for salt.
Before serving, add fresh cilantro, and enjoy with lemon wedges. This is great with steamed basmati, chapati, or naan.