Trim coarse stems from spinach. Wash in several changes of lukewarm water. Drain. Place in large heavy sauce pan. Cover and cook in water clinging to leaves over high heat for 3 to 5 minutes or until wilted. Drain in a colander, pressing out as much moisture as possible with your hands. Transfer to cutting board, chop coarsely and place in a large bowl.
In small skillet, melt butter over medium-high heat. Add onion and sauté until tender, about 2 to 3 minutes. Add to spinach in bowl. Mix in cheese, egg and half the salt.
In separate bowl mix together remaining salt, beef, tomato sauce, steak sauce and pepper. On a sheet of plastic wrap, pat beef mixture into a 10” square. Spread spinach mixture in a wide band over centre of meat. Using plastic wrap to lift the meat, roll up neatly, completely covering spinach and pinching ends together to seal.
Transfer to rack in shallow roasting pan. Arrange bacon strips across meat, attach ends at the bottom with toothpicks.
Roast in 375º oven for 11/4 to 11/2 hours or until meat is crisp, brown and firm to the touch. Let rest for 5 to 10 minutes then transfer to warmed serving platter and remove toothpicks.
If desired make gravy. Drain off all but 2 tablespoons of fat from pan. Whisk in 2 tablespoons all-purpose flour. Set over medium heat and, whisking constantly, gradually add 2 cups beef stock or vegetable cooking liquid. Mash all dark drippings in pan into gravy to a smooth, slightly thickened sauce. Taste and adjust seasoning to taste. Strain into warm gravy boat.