Preheat the oven to 350°F (175°C). Grease a 9x5-inch loaf pan and set aside.
In a large bowl, mix together the ground beef, breadcrumbs, Parmesan cheese, onion soup mix, grated onion, egg, milk, Dijon mustard, salt, and pepper until well combined.
Press the meat mixture into the prepared loaf pan, smoothing the top with a spatula.
Bake the meatloaf in the preheated oven for 45 minutes, or until cooked through.
While the meatloaf is baking, heat the olive oil and butter in a large skillet over medium heat. Add the sliced onions and cook, stirring occasionally, until caramelized, about 20-25 minutes. You may need to reduce the heat to prevent burning.
Remove the meatloaf from the oven and top with the Swiss cheese.
Return the meatloaf to the oven and bake for an additional 5-10 minutes, or until the cheese is melted and bubbly.
Remove from the oven and top with the caramelized onions and parsley.
Allow the meatloaf to rest for a few minutes before slicing and serving.