Prep the broccoli. If using fresh broccoli, cut into small florets.
If using frozen, thaw slightly and pat dry. Smaller florets cook faster and blend better with the beef and sauce.
Brown the beef. Heat the oil in a large skillet over medium-high heat. Add ground beef, breaking it up with a spatula.
Season with salt, pepper, and smoked paprika. Cook until browned with crispy edges, about 6–8 minutes.
Sauté the aromatics. Push the beef to one side of the pan and add onion to the empty space. Cook 2–3 minutes until translucent.
Stir in garlic and cook 30 seconds until fragrant.
Build the pan sauce. Stir in soy sauce, Worcestershire (if using), and beef broth. Scrape up any browned bits from the bottom of the skillet. Let it simmer for 1–2 minutes to reduce slightly.
Add broccoli. Fold in the broccoli.
If fresh, cover the pan and steam 3–4 minutes until crisp-tender. If frozen, cook uncovered a bit longer, stirring occasionally, until heated through and most liquid evaporates.
Make it creamy. Lower heat to medium-low. Stir in cream cheese until melted and smooth.
Add heavy cream and Dijon mustard, stirring until the sauce thickens and coats the meat and broccoli.
Add the cheese. Sprinkle in cheddar and Parmesan. Stir until melted and glossy. Taste and adjust salt, pepper, and red pepper flakes as desired.
Finish and serve. Remove from heat and let the skillet rest for 2 minutes to set slightly.
Garnish with chopped parsley or green onions. Serve as is, or spoon over cauliflower rice for extra bulk.