Pour the olive oil into a large saucepan and heat it over medium heat. Add the onions and sauté them until they turn soft, about 3 minutes. Peel the garlic first, then mince it as finely as possible. Add it to the saucepan, and cook it for 30 seconds, stirring occasionally. Peel the potatoes, then cut them into small chunks; this will help them cook faster. The potatoes need to be soft and tender, almost falling apart. Depending on how small you cut the potatoes, this should take between 10 and 15 minutes. For a thinner soup, use 3 cups (700 milliliters) of vegetable stock. For a thicker soup, use 2 cups (475 milliliters) of vegetable stock. Don't worry about chopping the spinach just yet. You will be pureeing everything later on. Stir everything together to combine. Try to use fresh lemon juice, if you can, for best taste. Transfer the soup into a blender or food processor, and puree until everything is smooth. If the ingredients are not blending smoothly, use a rubber spatula to push down any unblended soup down towards the bottom. There should be no lumps, clumps, or chunks. Once the soup is smooth, give it a quick taste. If you need to, add some more salt or cayenne pepper, and stir to combine. The soup will taste the best while it is still hot, but you can also serve it chilled as well.

Summary:
Sauté the onions with the olive oil in a saucepan over medium heat. Add the garlic and cook for 30 seconds. Pour in the vegetable stock and the potatoes, then simmer until the potatoes become soft and tender. Add the spinach and cook for 2 minutes. Add the lemon juice, cayenne pepper, and salt. Puree until smooth in a blender or food processor. Adjust the seasonings, if necessary. Pour the soup into bowls and serve it. Finished.