Dice the onion and bell pepper into similar-sized pieces, mince the garlic cloves, and chop the cabbage into 1-inch squares. Heat 3 tablespoons of oil in a large skillet or Dutch oven over medium-high heat. Once shimmering, add the ground beef, breaking it apart with a spoon as it cooks. When the beef is mostly browned (about 5-7 minutes), add the diced onion and bell pepper, stirring occasionally until they begin to soften, about 3-4 minutes. I prefer avocado oil here because its high smoke point prevents the meat from picking up any burnt flavors.
Add the minced garlic to the browned meat and vegetables, stirring constantly for about 1 minute to release its aromatics and prevent burning. Pour in the diced tomatoes (with their juices) and add the smoked paprika, oregano, garlic powder, onion powder, and cayenne pepper. Stir well to combine, then season with salt and pepper to taste. The spices will begin to bloom as they warm in the liquid, creating a rich, layered flavor foundation for the dish.
Distribute the chopped cabbage evenly over the meat and tomato mixture in the skillet. Cover the pan with a lid or foil and reduce the heat to medium. Let this braise for 15-20 minutes, stirring once halfway through, until the cabbage becomes tender and has wilted into the sauce. The cabbage will release its own moisture and absorb the savory flavors from the meat sauce below, creating a cohesive casserole texture rather than separate layers.
Remove the lid and check that the cabbage is tender. Scatter the shredded sharp cheddar cheese evenly over the top of the casserole. Cover again and let it sit off heat for 2-3 minutes until the cheese is fully melted and creamy. I like using a sharp cheddar because it adds a bolder, more complex flavor that doesn't get lost when melted into the dish. If you prefer a more browned, melted top, you can leave it uncovered for an additional 2-3 minutes on low heat.