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 a pinch of salt and pepper. Cook 2-3 minutes until they start to soften, stirring frequently.
Add the paprika, cayenne, flour, and tomato paste and stir to combine. Cook 30 seconds to toast the tomato paste. Then, add the wine and cook until it is reduced by half. Add the tomatoes and water and simmer 6-8 minutes until the mushrooms are cooked and sauce is thickened. Season the sauce with ½ teaspoon salt and ¼ teaspoon pepper.
Turn the heat off and stir in the sour cream and parsley. Serve the paprikash on a bed of egg noodles or homemade spaetzle. Garnish with 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.