1. Preheat the oven to 375°.
2. Bring stock and 3 cups water to a simmer in a large saucepan (do not boil). Keep mixture warm.
3. 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 pan to medium-high heat. Add onion, thyme, and garlic to drippings in pan; 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 1 minute or until liquid is absorbed. Reduce heat to medium. Stir in 2 cups broth mixture; cook 4 minutes or 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 Gruyère, tomatoes, soy sauce, pepper, spinach, and bacon. Place barley mixture in a 2-quart glass or ceramic baking dish coated with cooking spray; sprinkle with remaining cheese. Cover with aluminum foil coated with cooking spray. Bake at 375° for 15 minutes. Remove foil, and bake 10 minutes or until cheese melts. Let stand 5 minutes.