Sift flour into a bowl. Add eggs, 1/2 teaspoon salt, and cold water. Stir with a wooden spoon for 2-3 minutes until smooth and bubbly. Add more cold water as needed.
Melt some butter in a pan over medium heat. Peel onions and cut into rings. Roast, stirring occasionally, for 8-10 minutes until light brown.
Bring a large saucepan of salted water to a boil over high heat. In batches, press spaetzle dough through a pasta press into the boiling water. Stir continuously with a wooden spoon.
When spaetzle float to the surface, they are done. Use a slotted spoon to transfer each batch to a preheated bowl. Sprinkle some grated cheese over top. Keep the bowl in a warm oven (80 °C / 175 °F) while cooking the remaining batches.
Once all spaetzle are cooked, top with roasted onions and chives. Season with salt and pepper to taste if desired.