Heat a large skillet over medium-high and cook ground beef for 6–8 minutes until browned. Drain excess fat, leaving 2 tablespoons.
Add diced onions and cook 4 minutes; stir in garlic and cook 30 seconds.
Sprinkle flour, then mix in tomato paste, Worcestershire sauce, thyme, and broth; simmer until thickened. Fold in vegetables and season.
Boil peeled potatoes 15–18 minutes until tender; drain and mash with butter, warm milk, half cheese, and egg yolks (optional).
Preheat oven to 400°F. Spread beef mixture in greased casserole dish, top with mashed potatoes, smooth evenly, and sprinkle remaining cheese.
Bake 25–30 minutes until golden and bubbling. Broil 2–3 minutes for extra browning. Rest 10 minutes before serving.