Heat 2 tablespoons of the olive oil in a heavy pan and add the onion. Cook, stirring, over a medium heat for 5 minutes until soft. Add the garlic and curry powder and cook, stirring, for a few minutes more. Add the sweet potato and apple and stir well to combine with the other ingredients. Cook, stirring frequently, until the sweet potato starts to brown at the edges, about 15 minutes. Keep adjusting the heat to prevent the onion burning.
Pour in 1 litre (35 fl oz/4 cups) of the stock and stir, scraping up the caramelised bits from the bottom of the pan. Gently simmer, uncovered, for 20 minutes, or until the sweet potato is tender. Carefully transfer to a blender and blitz until smooth. Pour into a clean pan and add more of the remaining stock if the soup is too thick for your liking. Add the coconut milk and lime juice and season with salt and pepper. The soup might need lots of salt, depending on the saltiness of the stock. Keep warm while you make the croutons.
Heat the remaining olive oil in a frying pan and add the pumpernickel. Cook over a medium–high heat, shaking the pan, until the bread starts to crisp up. Remove to paper towels to soak up excess oil.
Serve the soup immediately, sprinkled with croutons.