Cut the chicken breasts into bite-sized pieces and set aside.
Finely chop the onion, garlic, and ginger, ensuring they are ready for cooking.
Heat the vegetable oil in a large pan over medium heat.
Add the chopped onions and sauté until they turn golden brown.
Add the minced garlic and ginger to the pan, cooking for an additional minute until fragrant.
Stir in the chopped tomatoes and tomato paste, cooking until the tomatoes soften and the mixture is well combined (about 5-7 minutes).
Add the Madras curry powder, ground cumin, ground coriander, turmeric powder, and red chili powder. Stir well and cook for 2-3 minutes, allowing the spices to release their flavors.
Add the chicken pieces to the pan, ensuring they are well coated with the spice mixture. Cook until the chicken is browned on all sides (approximately 5-6 minutes).
Pour in the coconut milk and stir well to combine. Increase the heat slightly to bring the mixture to a simmer.
Cook for 20-25 minutes or until the chicken is fully cooked and tender.
Add salt to taste and stir in the garam masala. Cook for an additional 2-3 minutes, allowing the flavors to meld together.
Remove from heat and garnish with freshly chopped cilantro before serving. Enjoy your Chicken Madras Curry with rice or naan!