Step-1Melt butter in a large skillet over medium-high heat.
Step-2Add onions and cook, stirring, until softened and beginning to brown, 5 to 7 minutes.
Step-3Scrape into slow cooker.
Step-4Place chicken pieces on top.
Step-5Combine ginger, garlic, almonds, yogurt, garam masala and salt in a food processor and process until smooth, scraping down sides of bowl with a flexible spatula as necessary.
Step-6Add tomatoes and pulse once to combine.
Step-7Pour mixture over chicken. Cover and cook on low until chicken is tender, 4 to 5 hours. Stir in heavy cream, cover and cook until warmed through, about 5 minutes. Sprinkle with cilantro just before serving, if desired.