Heat the oil in a large saucepan over a medium heat. Add the shallots and cook for 5 minutes until soft and translucent. Stir in the garlic, ginger, lemon grass and curry powder. Gently fry for a further 5 minutes until fragrant.
Add the red pepper, carrots, mushrooms and tofu, and stir well. Pour in the stock and season to taste. Bring to the boil, then stir in the coconut milk. Bring to the boil again, reduce the heat and simmer for 45–50 minutes until the vegetables are tender.
Ladle the curry into warmed serving bowls, garnish each bowl with a pile of bean sprouts and serve with steamed rice or bread.