Place the beef into a large bowl. Stir in the red wine, salt, and black pepper. Marinate for 10 minutes, then remove the beef and pat dry with a paper towel. Reserve the remaining marinade. (I do not always do the marinate process, but it does help and it would work better if it could marinate for a couple of hours.).
Heat the olive oil in a large skillet over medium heat. Stir in the beef; cook and stir until browned, then transfer to a plate, 5 to 7 minutes. Drain any remaining grease from the skillet. Melt 2 tablespoons butter over medium heat. Stir in the onion, garlic, and a pinch of salt. Cook and stir until the onion is soft and translucent. Transfer the onion mixture to the plate with the prepared beef; set aside.
Melt another 2 tablespoons butter in the same skillet over medium heat, and stir in the mushrooms. Cook and stir until the mushrooms are tender, about 10 minutes. Place the cooked mushrooms in a bowl and set aside. Melt 1/4 cup of butter in the skillet. Whisk in the flour, cook and stir until the flour no longer tastes raw, about 4 minutes. Slowly whisk in the beef stock. Bring to a boil, stirring constantly, then reduce heat to medium low. Pour in the reserved red wine marinade, Worcestershire sauce, prepared mustard, and red pepper flakes, then add the beef and onion mixture. Cover and simmer until the meat is tender, about 1 hour. Season with salt and black pepper.
Stir in the mushrooms, sour cream, and cream cheese about 5 minutes before serving.