Caramelize the onions – Heat olive oil in a large skillet over medium heat. Add sliced onions, a pinch of salt, and cook, stirring occasionally, until they’re golden and sweet (about 15–20 minutes). Garlic goes in the last 2 minutes.
Cook the beef – In another pan, brown the ground beef until no pink remains. Drain excess fat. Season with salt, pepper, and thyme.
Combine base ingredients – In a large bowl, mix the beef, onions, cream of mushroom soup, beef broth, and Worcestershire sauce. Stir until evenly coated.
Layer in casserole dish – Pour the mixture into a greased 9x13 baking dish. Spread evenly.
Add the cheese – Sprinkle shredded Swiss (and optional Gruyère or mozzarella) over the top.
Bake – Cover with foil and bake at 350°F (175°C) for 25 minutes, then uncover and bake another 10–15 minutes until cheese is bubbly and golden.
Optional topping – Add crispy fried onions or breadcrumbs in the last 5 minutes for a crunchy finish.