Heat butter and olive oil in a large skillet over medium heat. Add sliced onions, salt, and sugar, stirring occasionally for 25–30 minutes until deep golden and fragrant. Stir in balsamic vinegar and thyme, cook 2–3 more minutes, then let cool slightly.
In a large bowl, combine ground beef and pork with 1 cup of caramelized onions, breadcrumbs, eggs, milk, garlic, Dijon, Worcestershire, parsley, salt, pepper, and onion powder. Mix gently until just combined.
Preheat oven to 375°F (190°C) and prepare a baking sheet or loaf pan.
Shape half the meat mixture into a loaf, sprinkle 1 cup shredded Gruyère in the center, then cover with the remaining meat and seal edges. Press gently to form a compact loaf.
Mix tomato paste, Dijon, and balsamic glaze (or brown sugar) and brush over the loaf if desired.
Bake 50–60 minutes until internal temperature reaches 160°F (71°C). In the last 10 minutes, sprinkle remaining ½ cup Gruyère and Parmesan on top and broil 2–3 minutes until golden and bubbly.
Let rest 10 minutes before slicing and serve warm with mashed potatoes, roasted veggies, or a green salad.