Heat the oil in a large, deep-sided frying pan and test it’s up to temperature by dipping in a wooden spoon: if bubbles form around the spoon immediately, the oil is ready. Drop in the curry leaves and cumin seeds, leave them to splutter for a minute, then add the onion. Cook, stirring frequently, for about 10 minutes, until the onion is glossy and soft enough to cut with a wooden spoon; don’t skimp on the time here.
Add the ginger, garlic and chilli to the softened onions and cook, stirring, for a couple of minutes. Tip in the tomatoes and leave to cook for eight or so minutes, until the mix splits and the tomatoes start to release oil back into the pan.
Add the garam masala, stir for a minute, then add the kidney beans, salt, 250ml cold water and the sweetcorn, and bring to a boil. Turn down the heat to a simmer and leave to cook for a further 10 minutes.