Preheat the oven to 400°F. Line a baking sheet with foil.
Prepare the topping:
Place the cauliflower florets in a large, microwave-safe bowl. Add ½ cup of water, cover, and microwave until very tender, about 7 minutes.
Drain the cauliflower. Puree the hot cauliflower in your food processor with butter, 1 teaspoon kosher salt, ¼ teaspoon black pepper, and garlic granules. This should take about 1 minute. When very smooth, add the egg yolks and process for a few more seconds until fluffy. Set aside.
Prepare the filling:
Heat the olive oil in a large skillet over medium-high heat for about 2 minutes. Add the beef and onions. Cook, stirring often and breaking up the meat as you cook, about 2 minutes.
Add the spinach leaves in batches and keep stirring. Cook until the beef is browned, 4-5 more minutes. If the skillet gets too hot, lower the heat to medium.
Drain the beef mixture, then add it back to the hot pan. Add the minced garlic, 1 teaspoon kosher salt, ¼ teaspoon black pepper, smoked paprika, and cumin. Cook, stirring, for 1 more minute. Remove from heat.
Assemble and bake the pie:
Place the beef mixture in an 11 X 7-inch baking dish or a baking dish of a similar capacity. Spread the mashed cauliflower on top, smoothing it out with a spatula. Make sure to seal the edges of the casserole with the cauliflower mash.
Place the baking dish on the prepared baking sheet (meant to catch any spills). Bake the pie until the cauliflower begins to brown, 20-30 minutes. Allow it to rest and set for 5-10 minutes before serving.
Video
Notes
If your baking dish is broiler-safe, you can make speed things up by broiling the casserole instead of baking it. If you opt for broiling, broil it 6 inches below the heating element (not directly below) just until the cauliflower begins to brown. In my oven, this takes about 5 minutes.
You can keep the leftovers in the fridge, in an airtight container, for 3-4 days. Reheat them gently, covered, in the microwave at 50% power.