Preheat oven to 375°F. Grease a loaf pan lightly.
In a skillet, melt butter and cook onions over medium heat until golden and caramelized, about 20 minutes.
In a large bowl, mix ground beef, onion soup mix, breadcrumbs, eggs, milk, salt, and pepper until combined.
Shape mixture into a loaf and place in prepared pan.
Bake for 45 minutes. While baking, prepare sauce by combining beef broth and Worcestershire sauce with caramelized onions. Simmer until slightly thickened.
Remove meatloaf from oven, top with onion mixture and shredded Gruyère, then bake for another 15 minutes until cheese is melted and bubbly.
Let rest 10 minutes before slicing. Garnish with parsley.