2 tablespoons olive oil
4 garlic cloves, smashed or minced
1 large onion, diced
1/2 to 1 teaspoon red pepper flakes
1 (10-ounce) package frozen spinach, thawed and squeezed of excess water
1 1/2 cups orzo pasta or long-grain rice
2 quarts (8 cups) chicken or vegetable broth
4 large eggs
Juice of 3 medium lemons
Chopped fresh parsley, for serving
Grated Parmesan cheese, for serving
Heat the olive oil in a large heavy pot or Dutch oven. Add the garlic and onion and cook over medium heat until fragrant and slightly translucent. Increase the heat to medium-high and add the red pepper flakes, spinach, and orzo or rice. Cook for about a minute, then add the broth.
Bring to a light simmer, then turn the heat down and simmer for about 15 minutes, or until the orzo is just barely tender. Take the soup off the heat and let it cool down for a moment or two.
Whisk eggs vigorously in a large bowl, then whisk in the lemon juice. Whisk for a couple minutes; the mixture should be thick, pale yellow, and creamy. Add a small ladleful of the soup broth to the eggs and whisk vigorously. (If you want to be really sure not to curdle the eggs, take a ladle of soup and cool it a bit before tempering the eggs.) Whisk in two more ladles of soup broth, whisking each well and letting them cool.
Add the egg mixture to the soup pot, whisking very well. Return to very low heat, stirring the whole time. Cook carefully over low heat until the soup has thickened slightly. Taste and season with salt as needed. Serve immediately, garnished with parsley and Parmesan if desired.