Combine broth and potatoes in a large pot on the stove over high heat. Broth will not fully cover potatoes. Bring to a boil, and then reduce heat to medium and cover with a lid. Cook covered for 10 minutes or until tender.
While potatoes are cooking, heat a separate large skillet (oven-safe if you have one!) over medium heat. Add ground beef and chopped onion, sprinkling with 1 teaspoon salt and ½ teaspoon pepper. Cook until meat is browned, about 10 minutes.
Whisk together all the gravy ingredients. Once meat is cooked, add the gravy mixture and the frozen veggies (no need to thaw first!). Cook until gravy thickens, about 5-7 minutes.
Once potatoes are tender, strain broth from potatoes, saving the broth. Add ghee, salt, and coconut milk to the potatoes. While potatoes are still hot, mash the potatoes with a standard wire masher. You can mix them with a mixer, but be super cautious not to over-mix, or they will get gummy! Evaluate the texture of the potatoes - if they are the perfect mashed potato consistency, stop here. If they are still a little dry, add a little bit of the saved broth until desired consistency. Finally, stir in the egg until well combined.
Turn the oven on to broil (high).
If your pan is oven-safe, spread the mashed potatoes carefully over the top of the ground beef mixture inside the pan. If your pan is NOT oven-safe, transfer the meat to a 9x9 baking dish and then spread the mashed potatoes over top.
Broil for 5 minutes until top is lightly browned and developed a harder crust on top. Remove from oven and serve warm.
Store leftovers in a sealed container in the fridge for up to 1 week or in the freezer for up to 3 months.
