1Cook the bacon in a large pot or skillet until crispy. Remove bacon, reserving 1/4 cup of bacon grease.
2Add sliced onions and shallots to the pan with a pinch of salt and a splash of water. Cook over medium/high heat, adding splashes of water to prevent burning.
3Caramelize onions and shallots (about 40-50 minutes).
4While caramelizing onions, combine cream cheese, sour cream, mayo, shredded cheddar, 4oz mozzarella, Worcestershire sauce, pepper, and crispy bacon in a bowl. Mix and set aside.
5In the last 2–3 minutes of caramelizing onions, add garlic, thyme, balsamic vinegar, and brown sugar.
6Let the caramelized onions cool before mixing them into the cheese mixture.
7Transfer mixture to a baking dish, top with remaining mozzarella, and sprinkle with reserved crispy bacon.
8Bake at 350°F for 10 minutes, then top with crispy fried onions and finish under the broiler for 2–3 minutes, until golden and bubbly.