Heat the coconut oil in a large skillet over medium heat. Add the diced onion and cook until softened and translucent, about 5 minutes. Add the diced carrots and cook for an additional 5 minutes. Stir in the minced garlic and cook for another 1-2 minutes.
Add the ground beef or lamb to the skillet, breaking it up with a spoon as it cooks. Cook until the meat is browned and fully cooked through. Drain any excess fat if necessary.
Stir in the beef broth and coconut aminos. Add the dried thyme, dried rosemary, ground sage, paprika, and salt. If using, sprinkle in the tapioca starch or arrowroot powder to thicken the filling. Let the mixture simmer for about 10 minutes, or until the liquid is reduced and the filling is thickened. Adjust seasoning to taste.
While the meat filling is simmering, steam or boil the cauliflower florets until tender, about 10 minutes. Drain and transfer to a food processor. Add the coconut cream or dairy-free milk, ghee or coconut oil, garlic powder, onion powder, and salt. Blend until smooth and creamy.
Preheat your oven to 400°F (200°C). Spread the meat filling evenly in a baking dish. Top with the mashed cauliflower, smoothing it out with a spatula.
Place the dish in the preheated oven and bake for 20-25 minutes, or until the cauliflower topping is slightly golden and the filling is bubbling.
Allow the Shepherd’s Pie to cool for a few minutes before serving.