Preheat the oven to 375°F (190°C) and butter a baking dish.
Heat olive oil and 1 tablespoon butter in a skillet over medium heat.
Add sliced onions and cook, stirring frequently, until caramelized, about 25 to 30 minutes.
Stir in minced garlic and thyme and cook briefly until fragrant.
Add the remaining butter and stir in flour to form a roux.
Slowly whisk in vegetable broth, then milk and heavy cream until the sauce is smooth.
Add Gruyère, Cheddar, and mozzarella cheeses, stirring until melted and combined.
Season with salt and black pepper.
Combine the cooked al dente pasta with the cheese sauce and caramelized onions.
Transfer the mixture to the prepared baking dish.
Mix breadcrumbs with grated Parmesan and sprinkle evenly over the top.
Bake uncovered for 20 to 25 minutes until bubbly and golden brown on top.
Let the dish rest for 5 minutes, garnish with fresh thyme, and serve hot.