Prep the steak: Place the beef in the freezer for 20 to 30 minutes to firm up. Slice across the grain into very thin strips.
Pat dry and season with salt, pepper, and a pinch of onion powder.
Slice the vegetables: Cut the bell peppers and onion into thin strips. If using mushrooms, slice them evenly so they cook at the same rate.
Brown the beef: Heat a large skillet over medium-high. Add 1 tablespoon oil.
Sear the beef in two batches to avoid steaming, about 1 to 2 minutes per side, just until browned. Transfer to a plate.
Cook the veggies: Reduce heat to medium. Add butter to the skillet.
Sauté onions and peppers with a pinch of salt for 5 to 7 minutes until softened and lightly caramelized. If using mushrooms, add them after 3 minutes and cook until they release moisture and brown.
Add garlic and season: Stir in garlic for 30 seconds. Sprinkle in smoked paprika and red pepper flakes if you like a little heat.
Deglaze: Pour in Worcestershire and beef broth.
Scrape up browned bits from the bottom—this adds rich flavor without extra carbs.
Return the beef: Add the steak back to the skillet with any juices. Toss everything together and let it simmer 1 to 2 minutes until the liquid reduces slightly.
Cheese it up: Reduce heat to low. Layer provolone slices over the top or sprinkle shredded cheese evenly.
Cover for 1 to 2 minutes until melted and bubbly. For extra creaminess, dot a few teaspoons of cream cheese on top before covering.
Taste and finish: Adjust salt and pepper. Garnish with chopped parsley if you like.
Serve hot straight from the skillet.