Preheat your oven to 350°F (175°C).
In a skillet over medium heat, add a tablespoon of oil and sauté the diced onions until they are caramelized and golden brown, about 10-15 minutes. Stir frequently to prevent burning. Remove from heat and let cool.
In a large mixing bowl, combine the ground beef, caramelized onions, breadcrumbs, eggs, milk, mozzarella cheese, ketchup, Worcestershire sauce, Dijon mustard, salt, black pepper, garlic powder, and thyme. Mix until everything is well combined.
Transfer the meat mixture to the loaf pan, shaping it into a loaf.
Bake in the preheated oven for 45 minutes or until the internal temperature reaches 160°F (70°C).
In the last 10 minutes of baking, sprinkle the top of the meatloaf with grated Parmesan cheese and shredded Gruyere cheese. Return to the oven and bake until the cheese is melted and bubbly.
Once done, remove from the oven and let it rest for about 10 minutes before slicing.