Cut the meat into large chunks, about 5-8 cm in length.
Season the meat generously with salt and pepper.
Heat a large pan (I like to use cast iron) with some oil over medium-high heat.
Brown the meat in batches, and set the meat aside on a large plate or tray.
If there is too much fat in the pan from browning the meat (some fat might be rendered from the meat during cooking), remove the fat so that there is only a few tablespoons in the pan.
Add the onion and garlic.
Sauté the onion and garlic until they have softened.
Add the curry paste.
Cook the curry paste for a few minutes until it starts to separate and smell fragrant.
Add the coconut milk and stir it into the curry paste.
Add the chicken stock powder, sugar, fish sauce, tamarind paste, Makrut lime leaves and water.
Give everything a good mix and bring to a gentle simmer.
Return the meat to the pan.
Add the potatoes.
There should be enough liquid to just cover all of the ingredients. If not, add a bit more boiling water.
Simmer gently over low-medium heat for 1.5 to 2 hours, or until the meat is tender. The timing will depend on the size of the pieces of meat.
Towards the end of the cooking time, if there is a lot of excess fat in the pan (which can happen depending on the type of meat you have used), remove the excess fat by skimming it from the surface.
Taste the sauce for seasoning.
Serve the curry with Steamed Jasmine Rice, garnished with coriander (cilantro) and red chillies. Serve some coconut cream on the side for those who want their dish less spicy and/or with more richness.