Slice off the stem of the aubergine. Cut the aubergine width-ways into ¾ inch-thick rounds. Dice these into 1-inch cubes.
Place a large, nonstick pan on medium-high heat. Add ¼ cup oil to lightly coat the bottom of the pan. Add the aubergine in a single layer (2 batches if necessary) and pan-fry for 3 mins until golden brown.
Then flip the pieces and pan-fry for another 2-3 mins. Add oil as needed and distribute as needed because the aubergine tends to absorb oil. Remove to a plate and set aside.
Heat oil in a heavy-bottomed pan on medium-high heat. Once hot, add the cumin seeds and let sizzle for a few seconds. Add the onion and sauté, stirring frequently, until lightly golden (8-10 min). Deglaze with 2 tbsp of water.
Once the water dries up, add the garlic and ginger. Sauté for another minute until the raw smell disappears and the onions deepen in colour.
Add tomatoes, green chilli, all spice powders (except garam masala) and salt. Cook until the tomatoes are soft and the oil begins to separate (4-5 mins). If needed, add 2 tbsp of water to deglaze the pan and help the tomatoes disintegrate into the masala.
Once the oil has separated from the curry base, add the potatoes. Sauté for another 2-3 mins to soften. Add ½ cup water and stir to mix.
Turn the heat down to low-medium, cover and cook for 10 mins. Stir in the pan-fried aubergine and cook for another 15 mins or so, stirring occasionally. If it's sticking to the bottom of the pan, deglaze with ¼ cup water.
The aubergine should get mushy and the potato should be very tender. If needed, raise the heat and sauté for 2-3 mins until the oil starts to separate again and the aubergine has mostly disintegrated into the masala.
Adjust seasoning if needed. Turn off the heat and sprinkle in coriander leaves, garam masala or chaat masala if using, and lemon juice. Serve hot with roti, naan, or any type of bread.