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 to develop flavors.
02 - Melt 2 tablespoons butter in a large pan over medium heat. Sauté onion until golden, approximately 6 minutes. Add minced garlic and grated 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 1 tablespoon butter in a separate pan over medium-high heat. Add marinated chicken pieces and sear until lightly browned on all sides, about 3-4 minutes. Chicken need not be cooked through at this stage.
05 - Transfer seared chicken and accumulated juices to the tomato sauce. Simmer gently for 15 minutes, stirring occasionally to ensure even cooking.
06 - Add heavy cream and sugar to the sauce. Simmer for 5 additional minutes until slightly thickened. Adjust seasoning to taste and keep warm.
07 - In a large bowl, mix zucchini, carrot, potato, spring onions, peas, coriander, cumin, ground coriander, and chili flakes until evenly distributed.
08 - Beat eggs in a separate bowl and add to vegetable mixture. Sprinkle flour, salt, and pepper over the top. Mix until just combined, being careful not to overmix.
09 - Heat 1/2 inch vegetable oil in a large skillet over medium heat. Drop heaped tablespoons of batter into hot oil, flattening gently with a spatula. Cook for 2-3 minutes per side until golden brown and crispy. Drain on paper towels.
10 - Spoon butter chicken into serving bowls or plates. Garnish generously with fresh chopped coriander. Accompany with hot vegetable fritters on the side.