In a large pot or dutch oven, cook the onion in a little oil to soften, about 5 minutes.
Add the chicken and cook on high for 5 minutes to brown.
Turn heat to low and add in the ginger, garlic, garam masala, cumin, coriander, turmeric, and cayenne. Stir well to combine and cook for 3 minutes.
Add in the vinegar and scrape the pan to get all the browned bits off the bottom.
Add in the tomato and coconut milk and stir to combine. Simmer for 20 minutes.
Serve with cauliflower rice and top with cilantro.