Heat a saucepan and fry the onion in 37.5g of butter for 2 minutes.
Add the squash and cook for 2 minutes, then add the garlic and cook for 1 minute.
Pour in the stock, bring to a boil, and simmer for 5 minutes until squash is tender.
Stir in lime juice and cream, then blend in a food processor until smooth and season.
Return the purée to the pan and keep warm.
Simmer a separate saucepan of water and prepare a bowl of iced water.
Add vinegar and poach two eggs at a time for 1.5 minutes.
Transfer poached eggs to the iced water using a slotted spoon.
Sauté spinach in the remaining butter until wilted and drain on paper towels.
Reheat the eggs in simmering water for 30 to 60 seconds and drain.
Serve soup over spinach, top with a poached egg, olive oil, and cress.