Heat vegetable oil in a large Dutch oven over medium heat. Season chicken with salt and pepper and place skin side down in to the pan. Cook until golden brown without turning, about 8–10 minutes. Transfer chicken to a plate.
To the same pot, add onion, garlic, and ginger to pot and cook, stirring occasionally, until onion is very soft and golden brown, about 8–10 minutes. Add tomato paste, garam masala, cumin, turmeric, coriander, cayenne and cook, stirring often, until tomato paste is beginning to darken, about 4 minutes.
Add chicken pieces, chicken broth, tomato purée, and cream to pot. Season with salt and pepper and bring to a boil. Reduce heat and simmer, partially covered, until chicken is almost falling off the bone and liquid is slightly thickened, about 1 1/2 hours. If using bone-in chicken, remove chicken to a plate and carefully remove chicken from the bone and discard skin and bones. Cut or pull chicken into bite-sized pieces. Return chicken pieces to the pot.
Add potatoes to the pot and cook, partially covered, until potatoes are fork-tender and sauce is thickened, 30-45 minutes. *Check and stir every so often to ensure the sauce hasn't thickened to much and potatoes aren't sticking to the bottom of the pot. If sauce is too thick, thin with a bit more chicken stock.
To serve, spoon stew into a shallow bowl and place a large dollop of yogurt on one side. Sprinkle with some fresh chopped mint, cilantro or parsley and serve with naan bread on the side. Alternately, spoon stew over some warm basmati rice.
Be sure to read the "Cook's Notes" in the original post, for more tips, options, substitutions and variations for this recipe!