Cut the chicken breast into bite-sized 1-inch cubes and season with sea salt and black pepper.
Heat the olive oil in a large skillet over medium-high heat.
Add the diced onion to the skillet and sauté for 3-4 minutes until translucent.
Stir in the minced garlic and grated fresh ginger, cooking for 1 minute until fragrant.
Add the chicken cubes to the skillet and brown for 5 minutes, stirring occasionally to ensure even cooking.
Lower the heat to medium and sprinkle the curry powder and garam masala over the chicken, stirring to coat every piece.
Pour in the tomato puree and full-fat coconut milk, stirring well to combine into a smooth sauce.
Simmer the mixture for 8-10 minutes until the sauce has thickened slightly and the chicken is cooked through.
Add the baby spinach to the skillet and stir gently until the leaves are just wilted.
Garnish with fresh chopped cilantro before serving warm.