Brown the ground beef in a large skillet over medium-high heat. Drain off excess fat.
Add butter or olive oil to the skillet. Add the chopped onion and cook until softened, about 5 minutes.
Add the sliced mushrooms and cook until browned, about 5-7 minutes.
Stir in the minced garlic and tomato paste and cook for 1 minute until fragrant.
Sprinkle the flour over the mixture and stir to coat. Cook for 1 minute.
Add the diced potatoes, beef broth, Worcestershire sauce (if using), smoked paprika, thyme, salt, and pepper. Stir to combine.
Bring the mixture to a simmer, then reduce heat to medium-low, cover, and cook for 15-20 minutes, or until the potatoes are tender.
Stir in the heavy cream and sour cream or cream cheese (if using). Cook for a few minutes until the sauce has thickened.
Stir in the chopped parsley.
If desired, sprinkle shredded cheddar or Gruyère cheese over the top and let it melt before serving.
