Heat the vegetable oil in a large skillet over medium heat. Add the chopped onion and sauté until translucent, about 5 minutes.
Stir in the minced garlic and ginger, cooking for an additional minute until fragrant.
Add the chicken pieces to the skillet and cook until browned on all sides, about 5-7 minutes.
Sprinkle in the garam masala, cumin, coriander, turmeric, and chili powder, stirring to coat the chicken evenly with the spices.
Pour in the crushed tomatoes and bring the mixture to a simmer. Reduce the heat to low, cover, and let it cook for 15 minutes, stirring occasionally.
Stir in the heavy cream and sugar, and season with salt to taste. Simmer for an additional 10 minutes, allowing the sauce to thicken slightly.
While the butter chicken is simmering, prepare the garlic naan. In a mixing bowl, combine the flour, baking powder, salt, and sugar.
Gradually add the warm water and yogurt, mixing until a dough forms. Knead the dough on a floured surface for about 5 minutes until smooth.
Cover the dough with a damp cloth and let it rest for 30 minutes.
After resting, divide the dough into 4 equal pieces. Roll each piece into a flat oval shape.
Heat a skillet over medium-high heat. Cook each naan for about 2 minutes on one side until bubbles form, then flip and cook for another minute.
Brush the cooked naan with melted butter and sprinkle with minced garlic and chopped parsley.
Serve the butter chicken hot, garnished with fresh cilantro, alongside the garlic naan.