Heat the oil in a large, heavy-based saucepan. Add the onion and cook for 3–5 minutes until softened. Stir in the garlic and ginger, followed by the curry paste, and cook for 1 minute. Add the coconut milk, stock, sugar, fish sauce and lemon grass and bring to the boil.
Add the sweet potatoes to the pan and simmer for 10 minutes until tender, then add the tomatoes and cook for a further 2 minutes. Divide the curry between warmed bowls, pour over the lime juice and top with the coriander and bean sprouts to serve.