1. First prepare the meatballs by combining the ground beef, egg, milk, bread crumbs, parsley, poultry seasoning, salt and pepper together in a medium bowl. Form into 1 ½ inch balls, about 24 in total.
2. Place meatballs in a large skillet and cook over medium high heat until browned on all sides. Drain any fat. Add the beef broth, mushrooms and onions to the skillet and reduce the heat to medium low. Cover, and allow to simmer for 10 minutes.
3. Meanwhile, in a small bowl combine the sour cream, flour and caraway seeds, stirring until fully combined. (*For a saucier meatball, double this portion.)
4. Add the sour cream mixture to the meatballs and stir to combine. Reduce heat to low and cover.
5. Bring a large pot of lightly salted water to a boil.
6. To prepare the spaetzle, sift the flour and salt into a large bowl. Alternating, slowly add in the beaten eggs and milk, stirring until a firm, elastic dough is formed.
7. Transfer the dough into a spaetzle maker and drop into the boiling water. Spaetzle are done when they float to the top.
8. Use a strainer or slotted spoon to remove from the water and place in a large bowl. Add the butter and garlic powder and stir until all are coated.
9. Divide the spaetzle mixture onto plates. Divide the meatball mixture and place on top of the spaetzle. Serve immediately.