Preheat your oven to 350°F and line a baking sheet with parchment paper. Dice the onion into fine 1/4-inch pieces and set aside. Ensure your egg is at room temperature, as this helps it incorporate more evenly into the meat mixture. Having everything prepped and ready before you start combining ingredients will make the process smooth and efficient.
Melt the butter in a small skillet over medium heat and add the diced onion. Cook for 5-6 minutes, stirring occasionally, until the onion becomes soft and translucent with light golden edges. This gentle cooking sweetens the onion and develops more flavor than using it raw. Transfer the cooked onion to a small bowl and let it cool to room temperature—this prevents the butter from cooking the egg when you combine everything together.
In a large bowl, combine the ground ham, ground pork, cooled sautéed onion (from Step 2), egg, milk, bread crumbs, black pepper, and Dijon mustard. Mix gently with your hands until just combined—avoid overworking the meat, as this can make the loaf dense and tough. Shape the mixture into an 8"×4" loaf on your prepared baking sheet. I find that shaping it directly on the pan saves a step and keeps it uniform as it cooks.
Place the shaped loaf in the preheated 350°F oven and bake for 40 minutes. While the loaf bakes, prepare the glaze by whisking together the brown sugar, apple cider vinegar, and Dijon mustard in a small bowl until smooth. After 40 minutes of baking, check that the internal temperature is around 140°F (it will continue cooking as you add the glaze). This timing allows the meat to partially cook before the glaze goes on.
Spread the prepared glaze generously over the top and sides of the partially baked loaf, using all of the mixture. Return the loaf to the oven and continue baking for the final 20 minutes until the internal temperature reaches 160°F at the thickest part. The glaze will caramelize slightly as it finishes cooking, creating a beautiful mahogany finish.
Remove the loaf from the oven and let it rest on the baking sheet for 5-7 minutes before slicing. This resting period allows the juices to redistribute throughout the meat, keeping each slice moist and tender. Slice and serve warm, spooning any pan drippings over the top for extra flavor.