In a large bowl, combine the beef, eggs, bread crumbs, Worcestershire sauce, salt, pepper, onion, garlic, paprika and crushed red pepper flakes until just mixed through. You don't want to over-work the meat or else it'll become tough. Using a small cookie scoop, portion out the mixture and shape into meatballs. Place on a plate and set aside.
Set a large pot over medium-high heat with the oil. Once hot, working with half at a time, brown the meatballs on both sides, about 4 to 5 minutes. Transfer to a plate and continue browning the rest. We're not looking to cook the meatballs all the way at this point, just looking to brown them.
Once the meatballs are all browned, stir in the onion and garlic into the pot and begin scraping up the browned bits at the bottom of the pot. Cook until just beginning to soften, about 3 minutes. Stir in the mushrooms and thyme leaves and cook, stirring often, until the mushrooms have released all of their liquid, it has evaporated and they've just started to brown. Season with a pinch of salt and black pepper. Move the mushrooms and onions to one side of the pot and add in the butter to the now empty side. Once melted, stir in the flour and cook for about 30 seconds. Slowly stir in the stock, mixing everything together, including the mushrooms and onions. Lower the heat and bring to a simmer. Add the meatballs back in, including their juices on the plate. Give it a big stir, cover and simmer until the sauce has thickened and the meatballs are fully cooked through, about 18 to 20 minutes.
In the meantime, bring a large pot of cold water to a boil. Season liberally with salt and cook the noodles according to the package directions. Once done, drain and toss with a bit of olive oil or butter.
Once the stroganoff is done, stir in the parsley. To serve, divide the noodles between serving bowls and top with the meatballs and sauce. Serve with a dollop of sour cream and more fresh parsley for garnish. Serve immediately and enjoy!