Melt the butter in a medium skillet over medium heat. Add the onions to the pan and sauté until soft, about 5 minutes. Add salt, pepper, and the herbs de Provence, and continue to cook for 1 minute more. Stir in the spinach, remove from the heat and set aside.
Spray the inside of a 3 quart (13x9 inch) baking dish with cooking spray (I used a butter flavored cooking spray I have). Layer the bottom of the dish with one third of the bread cubes. Top with one third of the spinach mixture and one third of each of the cheeses. Repeat these layers twice more with the bread, spinach and cheese.
In a medium bowl, combine the eggs, egg whites, milk, a little salt and pepper. Whisk together until blended. Pour the mixture evenly over the bread and spinach layered in the baking dish. Cover with plastic wrap and chill for at least 8 hours or up to 1 day.
Remove from the refrigerator 30 minutes before baking to allow pan to get to room temperature. Preheat the oven to 350° F. Bake uncovered until puffed, golden brown and cooked through, 45-55 minutes. Let stand at least 5 minutes before serving.