Cut the chicken breasts roughly into 2 by 2-inch pieces. Mix together the yogurt, garlic, ginger, cardamom, curry powder, chili flakes, coriander, paprika, honey, salt, and pepper until thoroughly combined. Add chicken pieces to yogurt mixture, cover, and refrigerate at least 1 hour or as long as overnight. Bring to room temperature before cooking.
In a large skillet, heat the vegetable oil over medium-high heat. Add the onion and cook until translucent. Stir in tomato paste until evenly distributed and then add the half-and-half. Slide in the chicken and marinade, stir well, and bring mixture to a simmer. Reduce the heat so that the liquid remains at a low simmer. Cook about 15 minutes until chicken is no longer pink in the middle but still tender and moist. Serve immediately over basmati rice.