Steam the cauliflower until tender. Add cauliflower to food processor and pulse until like mashed potato in texture.
Transfer to a bowl, add ¼ cup flour and ½ teaspoon salt and stir until combined.
Spread mashed cauliflower into a 9 by 13 baking dish.
Preheat oven to 350 degrees.
Cut beef against the grain into cubes or strips. Set aside.
Cook the mushrooms, onion, and garlic in butter until tender. Remove and set aside.
Add the beef to the same skillet and cook until browned.
Season with garlic salt then stir in ½ cup beef broth, Worcestershire and heat until boiling.
Reduce, cover and simmer 15 minutes.
Whisk together the remaining beef broth with 2 tablespoons flour.
Add this to the beef in the skillet.
Add back the onions and mushrooms to the skillet.
Stir constantly until thickens.
Stir in sour cream.
Combine the remaining 3 ingredients in a bowl then spread this over the mashed cauliflower.
Top with beef mixture.
Top with Parmesan if desired.
Cover and bake 20 minutes.