Over a medium-high heat, melt the butter and coconut oil in a big deep skillet — I used a 12-inch one. As soon as the butter/oil mix starts foaming, add all the chicken pieces in a single layer. Drop the heat to medium, and let the chicken fry for about 5 minutes, then turn all the pieces over for another 5 minutes’ frying. You’re looking to get a nice darkish golden color on the chicken, with just a few spots of sparse char. Good.
Use a slotted spoon to remove the chicken and transfer them to a good size saucepan. That pan needs to be big enough to hold the chicken and all the other curry ingredients. You also want to leave as much of the buttery oil as you can in the skillet — it’s about to be used again.
Return the skillet to a medium-high heat and stir in the onions, garlic, ginger, ground bird’s eye chilies, cardamoms, ground cloves, turmeric, bay leaves, lime leaves, and salt. Stir well so the mix all gets coated in the buttery oil and drop the heat to medium. Cook for 5 minutes on that medium heat, with a few regular stirs until the onion starts to pick up a little browning colour. Turn off the heat and tip the mix and all its oil into the saucepan with the chicken.
Pour a little water into the still-warm skillet — a couple of tablespoons will be fine — and stir it around so that it picks up any stray little oily pieces still remaining there, and then add the lot to the saucepan.
Time to toast the poppy seeds. Use a small saucepan for this, and set it onto a medium heat for a minute or so. Add the poppy seeds, and swirl them around in the bottom of the hot pan. Turn off the heat and let the seeds sit in the pan for 60 seconds. Toasting done. Quickly tip the seeds into a pestle and mortar and grind them to a powder. You’ll find this is really easy — the toasted seeds are not at all hard — and will only take you about thirty seconds to grind down.
Now add the serrano peppers to the saucepan, together with the chopped fresh cilantro, cinnamon sticks, cumin, ground cilantro, ground poppy seeds, salt, and coconut milk. Give the pan a thorough but gentle stir — so as not to break apart the serranos — and set the pan on a medium high heat. As soon as the pan comes to a bare boil, drop the heat to low and cover the pan with its top slightly ajar.
You now want your curry to simmer very gently — and I mean very gently — for 40 minutes. Give the pan a few gentle stirs whilst it’s simmering away, and do check it for saltiness after 35 minutes’ simmering — adjust according to your taste.
Turn off the heat and let the covered pan sit while you sort out the rice. Letting the curry sit like this really helps all the flavors meld together. You’ll then heat the curry so that it’s nice and hot for serving as soon as the rice is cooked.
Cooking the rice
I like to soak my rice for at least 30 minutes in cold water before cooking it. I then drain it, add salt and fresh water, and cook it as per the instructions on the pack.
That usually means just barely covering it with salted water, bringing it to the boil, covering the pan, and then turning the heat down as low as possible. As it slowly cooks on that very low heat, the rice will soak up the water, sort of double in volume, and be just cooked through when all the water has been absorbed.
Serving the curry
Turn the rice and the curry into warmed serving bowls, and let your delighted fellow diners happily help themselves.
Notes
To drink? Well, with a curry that’s as fiery and richly spiced as this one, my choice would always be a very cold, light, crisp beer.