To make the paprikash, heat the oil in a large skillet over medium heat and add the onion. Sauté until tender, 5-6 minutes. Add the garlic and cook another minute until fragrant. Turn the heat up to medium high and add the mushroom slices. Season them with salt and pepper. Cook 2-3 minutes until they start to soften, stirring frequently.
Add the paprika, cayenne and flour and stir to combine. Add the wine to the skillet and cook until it is reduced by half. Add the tomatoes, tomato paste and stock and simmer 6-8 minutes until the mushrooms are cooked and sauce is thickened. Season the sauce with salt and pepper. Turn the heat down to low and stir in the sour cream and 3 tablespoons parsley. Cook another minute until heated through but do not let the sauce come to a boil. Serve the paprikash on a bed of spaetzle and garnish with the remaining tablespoon of parsley.
To make the spaetzle, mix the eggs and milk together in a large bowl. Add the salt, nutmeg and flour and stir together to form a thick, smooth batter. Let the batter rest for 10 minutes.
Meanwhile, bring a large pot of salted water to a boil then reduce to a simmer. Hold a large-holed colander or slotted spoon over the water and pour some of the spaetzle batter into the colander. Push the batter through the holes with a spatula.
Let the spaetzle cook 3-4 minutes then remove them from the water with a slotted spoon. Repeat with the remaining batter.
Toss the cooked spaetzle with parsley, if desired.