Heat 2 tablespoons butter and olive oil over medium low heat in a large nonstick skillet. Add onions, cover, and cook 30 minutes, stirring every 10 minutes. Remove lid and cook an additional 10 minutes, or until caramelized.
Meanwhile, prepare pasta according to package directions. Drain and place back in a large pot with the caramelized onions.
Melt remaining 4 tablespoons butter in a large saucepan over medium heat. Whisk in flour until smooth and cook one more minute or until mixture starts to brown. Whisk in milk and bring to a boil.
Reduce heat to low and mix in fontina, asiago, and mascarpone cheeses, and salt. Heat 5 minutes or until cheese is melted and mixture is smooth, whisking occasionally.
Mix cheese sauce with cooked pasta and caramelized onions in the large pot.
Pour pasta into 8 oven-safe dishes, preferably French Onion soup bowls! Place dishes on a large cookie sheet.
Heat oven broiler. Top bowls filled with mac & cheese evenly with croutons and shredded gruyere cheese.
Broil for 2 to 3 minutes or until cheese is melted.