Chop all the paste ingredients roughly and then blend in a mini chopper or blender, adding some oil as you go to make a fine paste. Any leftover paste should be kept in a sterilized airtight jar with a film of oil on top in the fridge (it will keep OK for a week).
In a large saucepan, slowly fry two tablespoons curry paste per person, so eight tablespoons in this instance, for 15 minutes. Add the coconut milk, the stock, lime leaves and curry leaf branch – keep the curry leaves on the branch, as this makes them easier to remove.
Cover with a lid and simmer gently for 35 minutes. Add the tofu puffs for the last 15 minutes and the fish cake slices for the last five, then take the pan off the heat. Remove the curry leaf branch. Add the eggs to a saucepan of boiling water and cook for six minutes, then take off the heat, drain and run under cold water. Peel carefully.
In another saucepan of boiling water, simmer the green beans for 3 minutes, adding the bean sprouts to blanch for the final 30 seconds, then drain. Cook the egg noodles as per their packet instructions (mine required just plunging into boiling water for a couple of minutes) and drain.
To serve, divide the egg noodles and vermicelli noodles equally between 4 deep bowls. Top with the bean sprouts and green beans. Heat the soup base up until simmering, then distribute equally between the bowls. Halve each egg over the bowls and carefully place an egg half in each, then sprinkle the coriander on top and serve with a lime quarter per bowl, along with the sambal oelek.