Peel and thinly slice the garlic cloves. Peel and thinly slice the onions, keeping them separate from the garlic. Finely chop the tomatoes.
Set a pan on a medium high heat for 2 mins. Add 1 tbsp olive oil and the butter. Allow to melt. Once melted, add the garlic to the pan. Fry for 3-4 mins till the garlic is golden and crisp. Sprinkle in a pinch of cayenne (careful, it's very spicy) then immediately spoon or pour the butter and garlic into a small bowl.
Place the pan back on the heat. Spoon 1 tbsp of the butter back into the pan, leaving the garlic in the bowl. Add the onions and tomatoes to the pan with a large pinch of salt and cook on a gentle heat for 10 mins, till the onions and tomatoes are soft.
While the onions and tomatoes are cooking, drain and rinse the butter beans.
After the tomatoes and onions have cooked for 10 mins, add in 2 tsp cumin and 2 tbsp red wine vinegar and stir well. Tip in the butter beans and stir to coat them in the sauce. Pour in 200ml boiling water and pop on a lid. Leave to cook on a gentle heat for 20 mins.
Taste and adjust the seasoning of the beans. Stir through the baby leaf spinach to just wilt it.
Make 4 holes in the saucy beans. Crack an egg into each hole. Pop the lid back on and cook for 2-4 mins till the white has set and the yolk is as cooked as you like.
Spoon the beans and eggs into a couple of warm bowls. Spoon over the butter and crispy garlic slices. Add a tiny pinch or two more of cayenne if you like.