Prep the beef. If using steak, slice it thinly against the grain. Pat dry and season with a pinch of salt and pepper. If using ground beef, break it up and keep it ready.
Heat the pan. Place a large skillet over medium-high heat.
Add the oil and let it shimmer.
Brown the beef. Add the beef in a single layer. Don’t stir for 1–2 minutes to get a good sear, then cook until browned and just cooked through. Transfer to a plate and keep warm.
Sauté the aromatics. In the same skillet, add the onion with a pinch of salt.
Cook 3–4 minutes until translucent.
Add mushrooms. Toss in the mushrooms and cook, stirring occasionally, until they release moisture and turn golden at the edges, about 5–7 minutes.
Add garlic and spices. Stir in the garlic, smoked paprika, thyme, nutmeg, and red pepper flakes. Cook 30 seconds until fragrant.
Build the sauce. Stir in the tomato paste and cook 1 minute to caramelize slightly. Pour in the beef broth and balsamic.
Scrape up any browned bits from the pan.
Wilt the spinach. Add the spinach in handfuls, stirring until it wilts down. Season with the remaining salt and black pepper.
Return the beef. Add the beef and any juices back to the skillet. Toss to coat and warm through for 1–2 minutes.
Optional creaminess. Reduce heat to low.
Stir in the Greek yogurt or sour cream until silky. Do not boil after adding to avoid curdling.
Taste and finish. Adjust seasoning. A squeeze of lemon brightens the flavors.
Sprinkle with chopped parsley.
Serve. Spoon over mashed potatoes, cauliflower mash, rice, or buttered noodles. Add extra cracked pepper if you like.