In a large saucepan, heat the oil over moderately low heat. Add the onion and cook, stirring occasionally, until it is translucent, about 5 minutes.
Add the garlic, ginger, five-spice powder, cumin, cayenne, turmeric, and 1/2 teaspoon of the salt. Stir until fragrant, about 1 minute.
Whisk in the broth and then the coconut milk; bring to a simmer. Stir in the potatoes, cover, and cook over low heat until they are almost tender, about 12 minutes.
Add the chicken to the sauce, cover, and simmer for 5 minutes. Stir in the peanuts, tomatoes, cilantro, and the remaining 1/2 teaspoon salt. Turn the heat off, cover, and let steam until the chicken is just done, about 2 minutes longer.
For this curry, steamed white rice is the only accompaniment you need.