Heat oil in a large sauté pan over medium heat. Add onions and bell pepper cook, stirring occasionally, until soft, about 5 minutes. Add the garlic and ginger and cook for another minute. Add the curry powder and cumin, cook for a few more minutes. The spices will absorb some of the oil, so if anything begins to stick too much to the bottom of the pan, add a little more oil to the pan.
Add the vinegar and coconut milk to the pan. Increase the heat and bring to a boil, then lower the heat to maintain a low simmer for about 15 minutes, stirring occasionally. Remove pan from heat. Scoop the sauce into a blender. Purée the sauce, pulsing until smooth. Return the sauce to the pan.
Add chicken pieces to the pan. Return to a low simmer. Cover the pan and let cook for 8-10 minutes. Chicken should be just cooked through. Use a knife to cut open the largest piece to check to be sure it's cooked.
Stir in spinach at the very end and continue cooking, on low, until spinach wilts into the curry.
Taste and adjust seasonings, if necessary. You might need to add a bit of salt and pepper. Add a squeeze of lime juice before serving.
Serve over rice. Garnish with cilantro.