In a pan heat up olive oil on medium heat until shimmering. Add in the onions.
Cook onions until soft, about 10 minutes, add in salt and sugar(optional) to help caramelization.
Continue cooking on medium low heat until onions are dark brown. This will take 20-30 minutes, stir and scrape the pan occasionally while it cooks down. Once onions are dark brown add a splash of balsamic vinegar to deglaze the pan.
Sandwich Assembly:
Sauté mushrooms in a pan of heated olive oil for about 5 minutes until soft and browned. Add a pinch of salt and pepper to season. Set aside.
Grate your cheddar and Parmesan cheese.
To assemble sandwich, butter both slices of bread on outer side. On interior of one slice spread a thin layer of Dijon mustard. Top with half the caramelized onions, mushrooms, cheddar cheese, Parmesan cheese, and a sprinkle of black pepper. Top with other slice of bread.
In a pan heat up a drizzle of olive oil or 1 teaspoon butter on medium heat. Once heated put in sandwich. Cook on each side for 2-3 minutes or until golden brown and cheese is melting. Once cheese is thoroughly melting remove from heat.