Finely chop the onion, garlic, and ginger. Cut the carrot into small cubes.
Heat oil in a large saucepan over medium heat. Sauté the onion for about 5 minutes until soft, then add the garlic, ginger, turmeric, cumin seeds, and mustard seeds. Cook for 1–2 minutes until fragrant.
Stir in the garam masala, cayenne and tomato purée. Cook for another minute, then add the chopped tomatoes and carrot.
Mix well, then stir in the red lentils. Season with salt and pepper.
Pour in enough water to cover everything generously. Add the curry leaves and star anise.
Bring to the boil, then reduce the heat to low, cover, then simmer for 20–25 minutes until the lentils are soft and creamy. Add more water if needed to prevent sticking.
Cut the salmon into small cubes. Add them to the curry, cover and let them steam for about 3 minutes.
Add the prawns. If they are raw, cook for another 2–3 minutes until they turn pink. If they are precooked, simply stir them in, cover for a minute, then remove from heat.
Let the curry rest for 2 minutes, then garnish with fresh herbs and serve with fluffy basmati rice