Food safety reminder: Follow safe food-handling practices and use a food thermometer to verify safe internal cooking temperatures.
U.S. measurements first, metric equivalents in parentheses. Conversions are approximate; oz means weight ounces, not fluid ounces.
- 1 cup (200 g) chana dal (split chickpeas), rinsed and soaked 1 hour - 2 cups (480 ml) water (for cooking dal) - 1 small (about 6 oz (170 g)) potato, boiled and mashed (6 oz (170 g)) - 2 tbsp (16 g) besan (chickpea flour) - 1 tsp (5 g) garam masala - 1/2 tsp (2 g) ground cumin - 1/2 tsp (2 g) turmeric - 1 tsp (5 g) salt, or to taste - 2 tbsp (30 ml) neutral oil for shallow frying - 2 tbsp (30 ml) oil for gravy - 1 medium (about 6 oz (170 g)) onion, finely chopped (6 oz (170 g)) - 3 cloves garlic, minced - 1 tbsp (6 g) grated fresh ginger - 2 medium (about 10 oz (283 g)) tomatoes, pureed (10 5/8 oz (300 g)) - 1 tsp (5 g) ground coriander - 1/2 tsp (2 g) chili powder, or to taste - 1 cup (240 ml) coconut milk - 1/4 cup (15 g) fresh cilantro, chopped
- 1 cup (200 g) chana dal (split chickpeas), rinsed and soaked 1 hour - 2 cups (480 ml) water (for cooking dal) - 1 small (about 6 oz) potato, boiled and mashed (170 g) - 2 tbsp (16 g) besan (chickpea flour) - 1 tsp (5 g) garam masala - 1/2 tsp (2 g) ground cumin - 1/2 tsp (2 g) turmeric - 1 tsp (5 g) salt, or to taste - 2 tbsp (30 ml) neutral oil for shallow frying - 2 tbsp (30 ml) oil for gravy - 1 medium (about 6 oz) onion, finely chopped (170 g) - 3 cloves garlic, minced - 1 tbsp (6 g) grated fresh ginger - 2 medium (about 10 oz) tomatoes, pureed (300 g) - 1 tsp (5 g) ground coriander - 1/2 tsp (2 g) chili powder, or to taste - 1 cup (240 ml) coconut milk - 1/4 cup (15 g) fresh cilantro, chopped
U.S. measurements first, metric equivalents in parentheses. Conversions are approximate.
1. Drain soaked chana dal and cook with 2 cups (480 ml) water until very soft and most water is absorbed, about 20–25 minutes; drain any excess and cool slightly. 2. Mash cooked dal with mashed potato, besan, garam masala, cumin, turmeric, and salt into a firm mixture; shape into golf-ball sized koftas. Chill 15 minutes to firm. 3. Heat 2 tbsp (30 ml) oil in a skillet over medium heat and shallow-fry koftas until golden on all sides, about 3–4 minutes per side; drain on paper towels. (To reduce oil, bake at 400°F / 200°C for 15–20 minutes, turning once.) 4. For the gravy, heat 2 tbsp (30 ml) oil in a pan, sauté onion until golden, add garlic and ginger and cook 1 minute, stir in tomato puree, coriander, and chili powder; simmer 8–10 minutes until thickened. 5. Stir coconut milk into the gravy, simmer 3 minutes, then gently add koftas and warm through without vigorous boiling so koftas hold shape, about 5 minutes. 6. Garnish with chopped cilantro and serve with steamed rice or vegan naan.
1. Drain soaked chana dal and cook with 2 cups (480 ml) water until very soft and most water is absorbed, about 20–25 minutes; drain any excess and cool slightly. 2. Mash cooked dal with mashed potato, besan, garam masala, cumin, turmeric, and salt into a firm mixture; shape into golf-ball sized koftas. Chill 15 minutes to firm. 3. Heat 2 tbsp oil in a skillet over medium heat and shallow-fry koftas until golden on all sides, about 3–4 minutes per side; drain on paper towels. (To reduce oil, bake at 400°F / 200°C for 15–20 minutes, turning once.) 4. For the gravy, heat 2 tbsp oil in a pan, sauté onion until golden, add garlic and ginger and cook 1 minute, stir in tomato puree, coriander, and chili powder; simmer 8–10 minutes until thickened. 5. Stir coconut milk into the gravy, simmer 3 minutes, then gently add koftas and warm through without vigorous boiling so koftas hold shape, about 5 minutes. 6. Garnish with chopped cilantro and serve with steamed rice or vegan naan.
Per serving | Servings: 4
Nutrition estimated: November 5, 2026
*Values are estimates based on USDA data and mathematical calculations. Actual values may vary. Where data are unavailable, those contributions are excluded. Calories, Carbohydrates, Protein, Fat, Saturated fat, Fiber, Sodium, Potassium, Calcium, Iron, Vitamin A and Vitamin C are known subtotals. Missing contributions are unknown, not zero.