Mix the gram flour, cumin, ground coriander, turmeric, garam masala and salt in a large bowl.
Add the cold water gradually, whisking to form a thick batter that coats the back of a spoon.
Stir in the sliced onion, grated potato, chopped chilli and fresh coriander until everything is well coated.
Heat 2 tablespoons of oil in a deep frying pan over a medium heat. You want the oil hot but not smoking.
Drop tablespoonfuls of the mixture into the pan, flattening them slightly with the back of the spoon.
Fry for 5 to 6 minutes on each side until golden brown and crisp. Drain on kitchen paper.
Keep warm in a low oven while you cook the remaining bhajis, adding more oil if the pan runs dry.