Heat the olive oil in a large deep skillet over medium-high heat. Add the onion and cook for 3 minutes until softened.
Add the ground beef, break it apart with a wooden spoon, and cook for 6 to 8 minutes until browned. Spoon off excess fat if needed.
Stir in the garlic, smoked paprika, and oregano and cook for 30 seconds until fragrant. Add the tomato paste and cook for 1 minute.
Add the shredded cabbage in two batches, tossing with tongs until each batch wilts, about 2 minutes per batch.
Stir in the diced tomatoes, Worcestershire sauce, salt, and pepper.
Cover, reduce the heat to medium-low, and simmer for 12 to 15 minutes, stirring occasionally, until the cabbage is tender.
Uncover and cook for 3 to 5 minutes more to thicken the sauce. Taste, adjust the seasoning, and serve.