In a large skillet over medium heat, heat oil. Add chicken and cook, flipping once, until golden and no longer pink, 8 minutes per side. Transfer to a plate.
Add onion to skillet and cook until soft, about 5 minutes. Add garlic, ginger, and spices and cook until fragrant, 1 minute. Add tomatoes and simmer until thickened, about 15 minutes.
Add heavy cream and chicken and simmer until warmed through, 5 minutes more. Season with salt.
Garnish with cilantro and serve alongside rice or naan, if using.