Preheat oven to 400F. Make filling: In a skillet over medium-high heat, saut beef, onion, garlic and mushrooms until beef is no longer pink, 7 minutes.
Transfer mixture to a bowl. Stir in spinach, Worcestershire, mustard and cheese. Season with salt and pepper. Set aside.
Make topping: Melt butter in a pan over medium heat.
Sprinkle in flour and cook, stirring, until pale golden, about 2 minutes.
Whisk in milk; bring to a boil, whisking. Cook and whisk until thick and smooth, about 2 minutes.
Whisk in Parmesan; season with salt.
Lightly beat yolks in a bowl. Slowly whisk in half of sauce.
Pour into pan, whisking.
Whisk over medium-low heat until thick, about 2 minutes.
Transfer to a bowl.
Line a baking sheet with foil; place shell in center. Stir 3 eggs into meat mixture; spread in shell.
Spread topping over mixture.
Bake until top is puffed and brown, about 35 minutes.