Place a large pot on a low medium heat. Add the oil followed by the garlic, lemongrass, shallots and chillies. Let these cook for a couple of minutes until the shallots have softened
Pour in the stock, coconut milk & cream and add the lime leaves, ginger, fish sauce, lime and sugar
Increase the heat slightly and bring to a simmer. Then turn the heat down slightly and cook for 10 minutes with the lid on.
Remove the lid and skim off any froth. Add the mushrooms, tomatoes, leeks and simmer gently for another 10-12 minutes (until the mushrooms are cooked through)
Remove from the heat and add the tofu, let the soup rest for 5 minutes before serving
Serve with some chilli oil, coriander, rice and lime wedges