Prep the vegetables. Cut the cauliflower into small florets, about 1-inch pieces so they cook evenly.
Dice the onion and mince the garlic. Shred both cheeses and set aside.
Brown the beef. Heat a large skillet over medium-high. Add a little olive oil, then the ground beef.
Season with 1/2 teaspoon salt and some black pepper. Cook, breaking it up, until browned with crispy edges, about 5–7 minutes.
Render and drain, if needed. If there’s a lot of fat in the skillet, drain off most of it, leaving about 1 tablespoon. This keeps the dish rich but not greasy.
Sauté onions and garlic. Push the beef to one side.
Add the onion to the open side with a drizzle of oil if the pan looks dry. Cook 3–4 minutes until softened, then stir in the garlic for 30 seconds until fragrant.
Bloom the spices. Sprinkle in smoked paprika, oregano, cumin, and red pepper flakes (if using). Stir for 30 seconds so the spices toast and release flavor.
Add tomato paste. Stir in the tomato paste and cook for 1 minute to caramelize slightly.
It should darken a shade and smell sweet and savory.
Stir in cauliflower. Add the cauliflower florets and toss to coat in the beef and spice mixture. Season with another 1/2 teaspoon salt and a few grinds of pepper.
Simmer with broth. Pour in 1/2 cup beef broth. Scrape up any browned bits from the pan.
Reduce heat to medium, cover, and cook 6–8 minutes, stirring once or twice, until the cauliflower is tender but not mushy. Add a splash more broth if the pan gets dry.
Adjust seasoning. Taste and add more salt, pepper, or a pinch of smoked paprika if needed. The mixture should be saucy but not soupy.
Add the cheese. Sprinkle in half the cheddar and half the mozzarella.
Stir until melted and creamy, coating the beef and cauliflower.
Finish under the broiler (optional but great). Scatter the remaining cheese over the top. If your skillet is oven-safe, slide it under the broiler for 2–3 minutes until bubbly and golden. If not, cover the skillet for 2 minutes to melt the cheese on the stovetop.
Garnish and serve. Let the skillet rest for 2–3 minutes so everything sets slightly.
Top with chopped parsley or chives. Serve hot as-is, or with a simple green salad or garlic bread.