Place chicken breasts in a saucepan and cover with cold water. Bring to a boil, then reduce heat and simmer for 12-15 minutes until cooked through. Drain, let cool, then shred or dice into bite-sized pieces.
While chicken cooks, heat oil in a small skillet over medium heat. Add onion and cook until soft, about 5 minutes. Stir in curry powder and cook for 1 minute until fragrant.
Add tomato paste and chicken stock, stirring to combine. Simmer for 2-3 minutes until slightly thickened. Remove from heat and let cool completely.
In a large bowl, whisk together mayonnaise, yogurt, apricot jam, lemon juice, and the cooled curry mixture. Season with salt and pepper.
Add shredded chicken to the sauce and stir to coat evenly. Fold in cilantro if using. Cover and refrigerate for at least 1 hour before serving to allow flavors to meld.
Serve cold on a bed of lettuce, in sandwiches, or with rice.
Tips
Can be made a day ahead; flavors improve overnight.
Store in an airtight container in the refrigerator for up to 3 days.