Start by cutting your chicken breasts into even 1½-inch cubes - they should all be about the same size so they cook evenly. Place these cubes in a bowl and mix well with 1 tablespoon curry powder, salt, and pepper. Let this sit for 30 minutes to absorb the flavors while you prepare everything else.
During this time, chop your onion into small pieces, mince your garlic and ginger, and prepare your mangoes by peeling them and cutting into chunks. Keep these all separate as you'll add them at different times.
Heat your canola oil in a large, deep pan over medium heat. Once the oil is hot, add your chopped onions and cook them until they turn clear and soft, about 2-3 minutes. Add your minced garlic and ginger and cook for another minute until you can really smell their aroma.
Now add your marinated chicken to the pan, spreading it out so all pieces can brown nicely. Let it cook until it turns light golden, about 5-7 minutes. Pour in your fish sauce and the remaining curry powder, stirring to coat all the chicken pieces evenly.
Pour in your coconut milk and stir everything together gently. Lower the heat, cover the pan, and let it simmer slowly for 10-15 minutes. The chicken should be completely cooked through - cut into a piece to check if you're unsure.
Add your mango chunks to the pan. Using your spoon, gently press some of the mango pieces to release their juice into the sauce. Let this cook uncovered for 2-3 minutes until your sauce thickens slightly. Taste it and add more salt or pepper if needed.
Take the pan off the heat and let it rest for 2 minutes - this helps all the flavors come together nicely. Transfer everything to a serving bowl, sprinkle with fresh cilantro and green onions if you like, and serve hot with plenty of rice.
Remember to serve this right away while the sauce is still creamy and the mangoes are warm but haven't completely dissolved into the sauce. The curry should be rich and creamy with a perfect balance of sweet from the mangoes and savory from the curry and chicken.