Place a deep-based pan on medium heat and add in ½ tablespoon vegetable oil and the butter. Leave to simmer until melted and bubbling lightly.
Add the garlic and ginger into the butter and fry for 5 minutes, stirring occasionally until aromatic.
Add in the chopped tomatoes and 200ml water (to rinse out the can) and bring up to the boil, then reduce to simmer. Add in a big pinch of flaky salt, chilli powder, turmeric, ground black pepper, and simmer for 10 minutes.
Once the curry has been simmering for 10 minutes, pour in the cream, stir to combine.
Sprinkle in the garam masala. Stir to combine, then season to taste. Leave to simmer on low heat until the eggs are ready.
Place 6 eggs in boiling water and boil for 6 minutes. Transfer to a bowl of cold water, then peel the eggs.
Place the peeled eggs in the curry and spoon the curry over the eggs. Cook for 1 more minute.
Divide the curry between 3-4 bowls and serve up with rice, naan, extra sides, or whatever you fancy! Top with fresh coriander and finely sliced red chillies.