Heat canola oil over medium heat in a large saucepan. Add shallot, garlic, Thai chili peppers, ginger, lemongrass and red curry paste and cook until shallots are soft (make sure to stir frequently).
Add chicken broth and simmer for approximately 20 minutes.
Strain the aromatics and return broth to the saucepan. Add coconut milk, tofu, and mushrooms. Simmer for 5 minutes.
Add fish sauce, lime juice, and sugar. Let simmer for a couple of minutes.
Ladle into bowls and garnish with green onions and cilantro.