Peel the potatoes and place them in a large pot of salted water.
Bring to a boil and cook for about 30 minutes, or until the potatoes are tender when pierced with a knife.
Finely chop the onion and garlic. Heat a bit of oil in a skillet over medium heat, then sauté the onion and garlic until soft and translucent.
Add the ground beef and cook until fully browned, breaking it up with a spoon as it cooks. Stir in the chopped parsley, season with salt and pepper to taste, and set aside.
In a mixing bowl, combine the cooked meat, sautéed onion, garlic, chopped parsley, and a whole egg. Mix well until everything is evenly incorporated.
Once the potatoes are cooked, drain them thoroughly. Mash them until smooth using a potato masher or ricer.
Warm the milk gently in a saucepan. Add the butter to the mashed potatoes, then gradually pour in the warm milk, mixing until the mash is smooth and creamy.
Season with salt, pepper, and a pinch of nutmeg for extra flavor.
Preheat your oven to 200°C (390°F).
Butter a baking dish. Spread half of the mashed potatoes evenly over the bottom.
Add the meat mixture on top, spreading it out evenly. Cover with the remaining mashed potatoes. For a pretty finish, use a piping bag to create a decorative top layer. (Optional: sprinkle grated cheese over the top for a golden, cheesy crust.)
Bake in the preheated oven until the top is golden brown, about 25–30 minutes.
Remove from the oven and let it cool slightly before serving.