Heat the oil in a wok over a high heat until the oil starts to shimmer. Add the shallots and fry until golden and crisp, then remove using a slotted spoon and drain on kitchen paper.
Drain all but 2 tablespoons of the oil from the pan and use to stir-fry the curry paste for 30 seconds. Stir in lime leaves, fish sauce, sugar, coconut milk and vegetable stock and bring to the boil. Lower the heat and simmer very gently for 10 minutes.
Stir in the aubergine and cook for a further 5 minutes, then gently fold in the mangetout and fish and cook for 2 minutes. Add the tomatoes and half the Thai basil leaves. Cook for a final 2 minutes, then top with the crisp shallots and the remaining basil leaves.