01 - Combine yogurt, lemon juice, garam masala, cumin, coriander, chili powder, turmeric, and salt in a bowl. Add chicken pieces and toss to coat thoroughly. Cover and refrigerate for at least 30 minutes.
02 - Melt 2 tablespoons butter in a large pan over medium heat. Sauté onion until golden, approximately 6 minutes. Add garlic and ginger, cook for 1 minute until fragrant.
03 - Stir in crushed tomatoes and bring to a simmer. Cook for 10 minutes until sauce thickens considerably, stirring occasionally to prevent sticking.
04 - Heat remaining 1 tablespoon butter in a separate pan over medium-high heat. Add marinated chicken and sear until lightly browned on all sides. Chicken need not be cooked through at this stage.
05 - Transfer chicken and accumulated juices to the tomato sauce. Simmer gently for 15 minutes, stirring occasionally. Add cream and sugar, continue simmering for 5 additional minutes. Adjust seasoning as needed.
06 - In a large bowl, combine zucchini, carrot, potato, spring onions, peas, coriander, cumin, ground coriander, and chili flakes. Mix thoroughly to distribute spices evenly.
07 - Beat eggs in a separate bowl and add to vegetable mixture. Sprinkle flour, salt, and pepper over the top. Mix until just combined, taking care not to overwork the batter.
08 - Heat 1/2 inch vegetable oil in a large skillet over medium heat. Drop heaped tablespoons of batter into hot oil, flattening gently with the back of the spoon. Fry for 2-3 minutes per side until golden brown and crisp. Drain on paper towels.
09 - Spoon butter chicken into serving bowls or plates. Garnish generously with fresh coriander. Accompany with hot vegetable fritters on the side.