Heat oil in a Dutch oven or small soup kettle over medium-high heat; add onion and saute until golden, 8 to 10 minutes.
Add garlic; saute until fragrant, about 30 seconds. Add spices; toast until fragrant, 30 seconds to 1 minute. Add chicken; stir until completely coated with spices. Add coconut milk, tomatoes and broth. Bring to a simmer; cook uncovered until flavors blend and stew is thick, about 20 minutes.
Remove from heat, sprinkle with cilantro and serve over rice.