Preheat the broiler.
Add butter to a saucepan over medium-high heat.
Sauté the onions and garlic until they turn slightly brown.
Add the flour and whisk together for 3 minutes to make a blonde roux.
Whisk in the milk and bring to a boil, stirring constantly to prevent the roux from burning. Cook for approximately 10 minutes or until the roux has dissolved completely and you can no longer taste the flour.
Add the pasta and stir until hot. Add the fresh herbs, the truffle oil, and half of the Parmesan and stir until dissolved.
Season, to taste, with salt and pepper.
Put all ingredients into an ovenproof dish and sprinkle the remaining cheese and bread crumbs on top evenly.
Place under a broiler until top becomes golden brown