I like this recipe:
Chicken Tikka Masala from America’s Test Kitchen
This dish is best when prepared with whole-milk yogurt, but low-fat yogurt can be substituted. For a spicier dish, do not remove the ribs and seeds from the chile. If you prefer, substitute 2 teaspoons ground coriander, 1/4 teaspoon ground cardamom, 1/4 teaspoon ground cinnamon, and 1/2 teaspoon ground black pepper for the garam masala. The sauce can be made ahead, refrigerated for up to 4 days in an airtight container, and gently reheated before adding the hot chicken. Serve with basmati rice.
INGREDIENTS
Chicken Tikka
1/2 teaspoon ground cumin
1/2 teaspoon ground coriander
1/4 teaspoon cayenne pepper
1 teaspoon table salt
2 pounds boneless, skinless chicken breasts , trimmed of fat
Yogurt Mixture
1 cup plain whole-milk yogurt (see note above)
2 tablespoons vegetable oil
2 medium garlic cloves , minced or pressed through a garlic press (about 2 teaspoons)
1 tablespoon grated fresh ginger
Masala Sauce
3 tablespoons vegetable oil
1 medium onion , diced fine (about 1 1/4 cups)
2 medium garlic cloves , minced or pressed through a garlic press (about 2 teaspoons)
2 teaspoons grated fresh ginger
1 fresh Serrano chile , ribs and seeds removed, flesh minced (see note above)
1 tablespoon tomato paste
1 tablespoon garam masala (see note above)
1 (28-ounce) can crushed tomatoes
2 teaspoons sugar
1/2 teaspoon table salt
2/3 cup heavy cream
1/4 cup chopped fresh cilantro leaves
FOR THE CHICKEN: Combine cumin, coriander, cayenne, and salt in small bowl. Sprinkle both sides of chicken with spice mixture, pressing gently so mixture adheres. Place chicken on plate, cover with plastic wrap, and refrigerate for 30 to 60 minutes. In large bowl, whisk together yogurt, oil, garlic, and ginger; set aside.
FOR THE SAUCE: Heat oil in large Dutch oven over medium heat until shimmering. Add onion and cook, stirring frequently, until light golden, 8 to 10 minutes. Add garlic, ginger, chile, tomato paste, and garam masala; cook, stirring frequently, until fragrant, about 3 minutes. Add crushed tomatoes, sugar, and salt; bring to boil. Reduce heat to medium-low, cover, and simmer for 15 minutes, stirring occasionally. Stir in cream and return to simmer. Remove pan from heat and cover to keep warm.
While sauce simmers, adjust oven rack to upper-middle position (about 6 inches from heating element) and heat broiler. Using tongs, dip chicken into yogurt mixture (chicken should be coated with thick layer of yogurt) and arrange on wire rack set in foil-lined rimmed baking sheet or broiler pan. Discard excess yogurt mixture. Broil chicken until thickest parts register 160 degrees on instant-read thermometer and exterior is lightly charred in spots, 10 to 18 minutes, flipping chicken halfway through cooking.
Let chicken rest 5 minutes, then cut into 1-inch chunks and stir into warm sauce (do not simmer chicken in sauce). Stir in cilantro, adjust seasoning with salt, and serve.