Prep the potatoes: Peel and cut the potatoes into even 1-inch cubes. Rinse in cold water to remove excess starch, then drain well.
Parboil: Bring a pot of salted water to a gentle boil.
Add potatoes and cook 5 to 6 minutes, until just tender on the edges but still firm in the center. Drain and cool completely. Spread on a tray to dry.
Make the coating: In a bowl, mix cornstarch, rice flour, all-purpose flour, red chili powder, Kashmiri chili (if using), turmeric, black pepper, cumin, garam masala, and salt.
Add wet ingredients: Whisk in ginger-garlic paste, yogurt, lemon juice, and just enough water to form a thick, clingy batter.
It should coat the potatoes without dripping excessively.
Coat the potatoes: Toss the cooled, dry potato cubes in the batter until evenly covered. Rest for 10 minutes so the coating adheres.
Heat the oil: In a deep pan, heat oil to about 350°F/175°C. If you don’t have a thermometer, drop a bit of batter—if it sizzles and rises quickly, it’s ready.
Fry in batches: Add coated potatoes without crowding.
Fry 4 to 5 minutes, turning occasionally, until golden and crisp. Remove to a rack or paper towel. Repeat with remaining potatoes.
Optional double-fry: For extra crunch, let the fried potatoes rest 5 minutes, then fry again for 1 to 2 minutes until deeply crisp.
Make the tempering: In a wide skillet, heat 1 tablespoon oil.
Add mustard seeds; when they splutter, add curry leaves (careful, they pop), sliced garlic, and slit green chilies. Sauté 30 to 45 seconds until fragrant but not browned.
Toss and finish: Add the fried potatoes to the skillet. Sprinkle a pinch of sugar and a squeeze of lemon.
Toss on medium heat for 1 minute to coat evenly. Adjust salt, then finish with chopped cilantro.
Serve hot: Plate immediately. Serve with lemon wedges and, if you like, a side of onions and a cooling yogurt dip.