Heat the oil in a wide sauteusse pan or Dutch oven (with lid) over medium, until shimmering.
Add the onions, stir to coat, reduce heat to medium-low, and cover. Cook for at least 20 minutes, stirring occasionally, or until they begin to take on a pale golden color.
Stir the ginger into the onions, and add the broth. Increase heat to medium-high and bring the soup to a gentle boil.
Reduce heat to medium-low, and slowly pour in the egg mixture with one hand while dragging a whisk through the soup with the other. Continue until the eggs have set and the result is that the eggs looked raggedly or shredded in the soup.
Add the spinach slivers and lemon zest and stir until the spinach is bright green and slightly wilted. Add the lemon juice and a big pinch of salt. Taste, and add more salt as needed. Ladle into bowls, and top with the Parmesan cheese, if using.