Mix together flour, garlic, ginger, spices and salt. Add water and yogurt and combine to make a thick paste.
Add coriander and onion and mix to coat well.
In a medium sized saucepan, heat 1-2 inches of oil at a moderate heat. To test the temperature to see if the oil is ready, gently place a small piece of batter in the oil, and if it bubbles on the surface, the oil is ready.
Scoop 2 Tbsp of batter into the oil, 2-3 scoops at a time. Cook for about 30 seconds, then carefully turn over and cook for a further minute.
Remove and place on a paper towel to soak up excess oil.
Repeat until all onion bhaji’s are cooked.
To make the dipping sauce, combine all ingredients in a blender and process until well combined. Season with salt and pepper to taste.