Prep the cabbage: Remove the core and thinly slice the cabbage. Keep the strands fairly uniform so they cook evenly.
Brown the beef: Heat a large skillet over medium-high.
Add oil, then the ground beef. Break it up and cook until no longer pink, about 5–7 minutes. Season lightly with salt and pepper.
Sauté aromatics: Add the onion (if using) and cook 2–3 minutes until softened.
Stir in the garlic and cook 30 seconds, just until fragrant.
Build flavor: Stir in tomato paste, paprika, oregano, cumin, and red pepper flakes. Let the tomato paste toast for 1 minute to deepen the flavor.
Add cabbage: Pile the sliced cabbage into the pan. It will look like a lot, but it wilts down.
Pour in the broth and soy sauce or coconut aminos.
Steam and wilt: Reduce heat to medium. Toss to coat the cabbage with the seasonings. Cover for 3–4 minutes to help it wilt.
Finish cooking: Uncover and continue sautéing, stirring every minute or so, until the cabbage is tender with a slight bite, about 6–8 more minutes.
If the pan gets too dry, splash in a bit more broth or water.
Rich finish: Stir in the butter to glaze everything and add a silky finish. Taste and adjust salt and pepper.
Optional topping: Sprinkle with cheese, cover, and let it melt off-heat for 1–2 minutes.
Garnish and serve: Top with chopped parsley or green onions. Serve hot, straight from the skillet.