Step 1: Prepare the ingredients: Dice the onions, mince the garlic, grate the ginger, chop the tomatoes, and cut the chicken into bite-sized pieces.
Step 2: Heat vegetable oil in a large skillet over medium heat. Add onions, garlic, and ginger to the skillet. Sauté until onions are translucent.
Step 3: Add the chicken pieces to the skillet and cook until they are lightly browned on all sides.
Step 4: Stir in the curry powder, turmeric, cumin, coriander, red pepper flakes, and salt. Cook for about 2 minutes to release the flavors.
Step 5: Add the chopped tomatoes and coconut milk to the skillet. Bring the mixture to a boil, then reduce the heat and simmer for about 20 minutes, or until the chicken is cooked through and the sauce has thickened.
Step 6: While the curry is simmering, prepare the roti according to the package instructions or, if making from scratch, mix flour, water, and a pinch of salt, roll out the dough, and cook on a hot skillet until golden brown.
Step 7: Garnish the curry with freshly chopped cilantro before serving with warm roti.