Boil and mash the potatoes: Boil potatoes until fork-tender. Drain, cool slightly, and mash until smooth with a few small chunks for texture.
Temper the spices: Heat oil or ghee in a pan.
Add mustard seeds and let them splutter. Stir in curry leaves, onion (if using), green chilies, ginger, and garlic. Sauté until fragrant and the onions soften.
Season the filling: Add turmeric, coriander, cumin, and garam masala.
Cook for 30 seconds, then fold in the mashed potatoes, cilantro, salt, and lemon juice. Mix well and let the filling cool.
Shape the vadas: With lightly oiled hands, form the potato mixture into small balls or patties, about golf-ball size. Set aside.
Make the batter: In a bowl, whisk chickpea flour, rice flour, turmeric, chili powder, carom seeds, baking soda, and salt.
Gradually add water to form a thick, smooth batter that coats the back of a spoon without running off.
Heat the oil: Pour oil into a deep pan to at least 1.5 inches depth. Heat over medium to 350–360°F (175–182°C). A drop of batter should sizzle and rise to the top in 2–3 seconds.
Dip and fry: Dip each potato ball into the batter, letting excess drip off.
Gently slide into the hot oil. Don’t overcrowd the pan.
Fry until golden: Cook 3–4 minutes, turning occasionally, until crisp and evenly golden. Remove to a wire rack or paper towels.
Repeat with the remaining vadas.
Serve hot: Enjoy with chutneys, a squeeze of lemon, or nestle into a buttered pav for classic vada pav.