I think of Panang curry as being an interesting Thai curry - not just because it's delicious, but I can't think of another Thai curry that is like it. Most Thai curries that I can think of are pretty thin - almost soup consistency, however, Panang curry is thick, so that it coats whatever it touches. With that in mind, the way I make it is not dissimilar to how I'd make Malay or Nyonya curries which typically have a similar texture.
There are probably a million ways to make this curry, but this how I've been doing it lately. I usually don't have the time to make my own curry paste, so I use a store bought. If it's possible to get, I prefer the Nittiya brand of curry pastes - it comes refrigerated (it freezes well too) and has the closest flavor to what I've had in Thailand. Unfortunately, it's really hard to come by - when I go to the Thai store, they say they bring it in every few months, and when they do, it's gone in the same day. Of course, this prompts me to wonder why they don't bring in more, but also, I can't make it into that store all that often, so lately, I can never find it. 2nd place, that I've tried, is Maesri - in the can. Although the ingredients between the can and tub versions look the same, for some reason the can tastes fresher, although I've never tried them side by side. Maesri does not add shrimp paste or ground peanuts to its Panang paste, so you need to add them yourself... also, keep in mind that Maesri's Panang paste and red curry paste seem extremely similar... I think the Panang paste has a bit more ground cumin and coriander seed than the red paste, but I wouldn't swear by it. So, I add my own - and I also use some Mace, which is what a Thai cooking teacher told me in Chiang Mai years ago...
Finally, a note about coconut milk. I'm not too fond of the canned milks - they typically have stabilizers added, which make it really hard for to use. For a long time, I was using an unbranded frozen coconut milk that I found in the Thai store, as well as the Indian store near me. The only label was that it was made in Thailand and brought in by East Distributors or something like that. It was good, but quite expensive. Lately, I've been using the Aroy-D coconut milk that comes in a shelf stable carton. Evidently, there are a couple different versions made, so make sure you check the label. I've found them on Amazon - a six pack of 250ml cartons - on some of the versions the label says 100% coconut milk - that's the one you want... other versions have stabilizers or homogenizers added. I give it a good shake before I open the carton.
Anyway, my recipe is based on convenience sizes - I don't think the quantities are super critical... I typically make this with skinless boneless chicken thighs - I use 4 normal thighs worth of chicken. This goes well with 1 carton of coconut milk, and 1 can of curry paste.
about 1t whole cumin seeds, toasted
about 1T whole coriander seeds, toasted
1 piece of whole mace, very lightly toasted
about a handful of roasted peanuts - unsalted preferably
about 1t shrimp paste
1 can Maesri Panang or Red curry paste - probably about 3-4 heaping Tablespoons
4 normal sized boneless, skinless chicken thighs, trimmed and cut into 1" cubes (roughly)
a few squirts of fish sauce
a couple teaspoons veg oil (I use a homemade garlic oil (made from peanut oil) that I keep in my fridge)
250ml (about 1 cup) coconut milk, divided
about 1T palm sugar
about 10 kaffir lime leaves, ribs removed, torn into pieces. (nb - if your lime leaves are a little tough, you might want to finely shred rather than tear into pieces)
1. Marinate chicken with the fish sauce and oil for about 1/2 hour
2. Grind cumin, coriander and mace in spice grinder until very fine
3. Add peanuts and pulse the spice grinder - if you go too fast or to far, it will turn into peanut butter and muck up your grinder
4. Add shrimp paste and ground spice/peanut mixture to curry paste and mix well. Sometimes you need to mash the shrimp paste a bit to get it to incorporate
5. Pour about 3/4 of the coconut milk into a 4Q saucepan, and then add a bit of water to the remaining coconut milk to bring it back up to about 1/2C
6. On medium - medium/high heat, bring the saucepan coconut milk to a boil and reduce until thick, stirring and scraping the bottom often to prevent scorching.
7. Add the curry paste to the coconut milk and stir to completely incorporate, stirring/scraping constantly
8. Add the kaffir lime leaves and palm sugar and continue to cook until you start seeing the oil bubble out of the edges of the paste. The paste should be considerably drier by now
9. Add the marinated chicken, and stir to completely coat with the paste. Cook until you don't see any more raw chicken (it's probably about halfway cooked through by now)
10. Add the remaining coconut milk/water and stir to combine. Simmer until chicken is cooked through.
11. Taste to adjust seasoning. If more salt needed, add fish sauce. If more sweetness needed, add palm sugar.