Prepare all of the ingredients. Start water boiling for potatoes.
In a frying pan over medium high heat, add bacon. Cook until crispy and remove to a paper towel covered plate. Reserve 1 tbsp of bacon grease for use in pan gravy.
Add potatoes to boiling water and cook for 15-20 minutes, until fork tender. Drain in colander and transfer to large bowl.
In a bowl, combine ingredients for the "steaks". Form into 6 patties, roughly 3½ inches wide by ¾ inch thick.
In a large saute pan over medium high heat, add butter and let melt. Then add onions and garlic. Cook for 2 minutes then add ½ cup of beef broth and reduce heat to medium. Let simmer for 3 minutes then push onions to outer edges of pan.
Add "steaks" to pan and cook for 7-8 minutes on each side. Remove from pan and keep warm.
Add reserved bacon grease and flour to pan. Whisk together to make a roux. Let cook for 2 minutes then add salt, pepper, and thyme. Continue to whisk while pouring in remaining beef broth.
Return "steaks" to pan and place a piece of provolone cheese on top of each. Then sprinkle provolone with Parmesan and parsley. Cover pan and let cook for 8-10 minutes.
Add melted butter, heavy cream, salt and white pepper to boiled potatoes and mix together with an immersion blender or hand mixer.
To plate - place a portion of potatoes on one half of shallow bowl or plate. Ladle a portion of pan gravy down center of plate then add one Salisbury Steak to the opposite side of bowl/plate. Add a little more gravy when sprinkle bacon on top.