To cook the potatoes: Put the potatoes in a large sauce pan filled with water, bring to the boil and simmer for 5 minutes. Drain the potatoes and set aside while you make the curry sauce.
To boil the eggs: Place the eggs in a small pan of water and boil for 5 minutes, then drain and plunge into a bowl of iced water. To make the eggs easier to peel, set them aside for 10 minutes.
To make the curry sauce: Heat the oil in a large sauce pan over a high heat. Add the onion and cook for a couple of minutes. Then add the garlic and ginger and cook for another minute. Stir through the curry powder and sliced chilli and fry for about 3 minutes until fragrant.
Reduce the heat and add the coconut milk, passata, a little salt and black pepper. Stir to combine and bring to a simmer. Cover with a lid and simmer gently for 30 minutes, stirring occasionally. Stir in the lime juice, taste and season.
Gently stir the potatoes and spinach into the curry sauce. Cook for a couple of minutes to cook the spinach and heat the potatoes. Add the peeled eggs and stir gently to heat through.
To serve: Ladle the curry into bowls and serve with basmati rice. Sprinkle over the sliced scallion and some coriander. Either leave the eggs whole or cut in half as you serve them.