Heat oil in a deep skillet over medium-high. Brown chicken in two batches, about 3 minutes each; set aside. It needn't cook through yet.
Reduce heat to medium; cook onion in same pan 7 to 8 minutes until soft and starting to turn golden.
Cook garlic and ginger 1 minute; add curry powder, cumin, and turmeric. Stir constantly 60 seconds until fragrant.
Add tomatoes; scrape pan clean. Simmer 5 minutes; stir in coconut milk and salt.
Return chicken; simmer 12 to 15 minutes until cooked through and sauce thickens. Finish with cilantro; serve over rice.