Place a large non-stick wok or wide frying pan or over a medium-high heat. Add the oil and stir-fry the sliced shallots for 5-8 minutes, or until golden-brown and crisp. Remove with a slotted spoon and drain on kitchen paper.
Return the pan to a low heat, add the coconut cream and the curry paste and cook for one minute, stirring constantly. Pour over the coconut milk and stir in 100ml/3½fl oz water. Bring to a gentle simmer.
Put the lemongrass on a board and cut in half. Bash with a rolling pin to bruise and flatten the stalks – this will allow their flavour to escape more easily into your curry. Add the lemongrass, lime leaves, nam pla and sugar to the pan and cook for 1-2 minutes more, or until the sugar dissolves, stirring.
Add the pea aubergines and simmer gently for eight minutes, stirring occasionally until almost tender. (If using green beans, cook for three minutes instead.) Stir in the peppers and cook for five minutes more, stirring regularly. The coconut curry sauce needs to be bubbling gently but constantly to cook the vegetables.
When the aubergines are tender, taste the curry sauce and add more Thai fish sauce if necessary. It needs to have a good balance of hot, salty, sour and sweet. At this point the curry sauce can be removed from the heat and left to stand before the fish is ready to be cooked.
Cut the fish pieces into 3cm/1¼in chunks and season with ground black pepper. Stir the fish and mangetout into the curry and cook for a further five minutes. Turn the fish in the sauce every now and then at the beginning of the cooking time, but stop as soon as you see it beginning to flake.
The fish should look opaque rather than translucent when cooked and the curry should be thick and creamy but not so thick that it begins to burn on the bottom of the pan. If it does reduce too far, simply add a little extra water.
Scatter the crisp shallots, coriander leaves and roughly torn Thai basil on the curry and serve immediately with cooked rice.