Bring stock and 3 cups water to a simmer in a large saucepan. Keep mixture very warm (not boiling), over low heat.
Meanwhile, cook bacon in a Dutch oven over medium-high heat until crisp. Remove bacon from pan, reserving 1 tablespoon drippings in pan; set bacon aside.
Return Dutch oven with reserved bacon grease to medium-high heat. Add onion, thyme, and garlic; sauté 3 minutes or until tender. Add mushrooms and salt; cook 10 minutes or until browned, stirring occasionally.
Stir in barley; cook 1 minute, stirring frequently. Add Madeira; cook 2-3 minute or until liquid is absorbed. Reduce heat to medium. Stir in 2 cups broth mixture; cook until the liquid is nearly absorbed, stirring frequently. Add remaining broth mixture, 1 cup at a time, stirring frequently until each portion of broth mixture is absorbed before adding the next (about 30 minutes total).
Stir in 2 ounces of the Gruyère, tomatoes, soy sauce, pepper, spinach, and reserved bacon. Transfer barley mixture to an extra larger ceramic baking dish coated with cooking spray; sprinkle with remaining cheese. Bake for 15-20 minutes. Serve hot.
Notes
Recipe from Cooking Light (link no longer available)