Warm a large skillet over medium heat. Add 1 tablespoon oil, then the onions and peppers. Cook 5–7 minutes, stirring occasionally, until softened with a bit of color.
Transfer to a plate.
Add remaining oil to the skillet. Toss in sliced mushrooms with a pinch of salt. Cook 4–5 minutes until they release moisture and brown slightly.
Transfer to the same plate as the peppers and onions.
Add ground beef to the empty skillet. Break it up with a spatula and season with salt, black pepper, smoked paprika, Italian seasoning, and onion powder if using. Cook 6–8 minutes until browned and no longer pink.
Drain excess grease if needed, leaving a little for flavor.
Stir in the minced garlic and cook 30 seconds until fragrant. Add Worcestershire sauce and red pepper flakes if using. Scrape up any browned bits from the pan.
Return the peppers, onions, and mushrooms to the skillet.
Toss everything together and taste. Adjust salt and pepper as needed.
If using cream cheese, dot it over the mixture. Stir until it melts and lightly coats the beef and veggies, about 1–2 minutes.
This adds a silky, cheesesteak-shop richness.
Reduce heat to low. Lay provolone slices over the top or sprinkle on shredded cheese. Cover the skillet and let the cheese melt, 2–3 minutes, until bubbly and gooey.
Garnish with chopped parsley if you like.
Serve hot as is, or spoon into lettuce cups for a handheld option.