Whisk together yogurt, 8 tbsp besan, and 1 litre water until smooth. Strain the mixture through a sieve and set aside.
Heat 3-4 tbsp oil in a pot. Add cumin seeds, carom seeds, curry leaves, and dried red chillies until fragrant.
Add chopped onion and cook until slightly brown. Add chopped tomato, ginger garlic paste, green chilli, and curry spices (salt, cumin, coriander, red chilli, turmeric). Cook into a soft paste.
Pour in the strained yogurt mixture, bring to a boil while stirring, then cover and cook on the lowest heat for 1 hour. Check every 15 minutes and add water if too thick.
In a bowl, combine sliced onion, potato, spinach, 1/2 cup besan, crushed spices, salt, turmeric, red chilli, coriander powder, fresh coriander, and a small splash of water. Mix firmly by hand.
Fry spoonfuls of pakora batter in hot oil until golden brown and crispy.
Transfer hot pakoras directly from the frying pan into the simmering kadhi curry and mix gently for a few minutes.
Prepare tadka by heating 5-6 tbsp oil in a small pan. Add red chilli powder, chilli flakes, and whole green/red chillies. Sizzle for 30 seconds.
Pour the hot tadka over the kadhi pakora. Serve immediately with rice or chapattis.