Place a large pot on a low-medium heat. Add oil, garlic, lemongrass, shallots, and chilis. Cook until shallots have softened.
Pour in stock, coconut milk & cream. Add lime leaves, ginger, fish sauce, lime, and sugar. Bring to a simmer, then simmer for 10 minutes with the lid on.
Remove lid and skim off any froth. Add mushrooms, tomatoes, leeks, and simmer for another 10-12 minutes.
Remove from heat. Add tofu and let the soup rest for 5 minutes before serving.
Serve with chili oil, coriander, rice, and lime wedges.
