For the crust
2 1/2 cups all purpose flour
1 tablespoon sugar
3/4 teaspoon salt
10 tablespoons (1 1/4 sticks) chilled unsalted butter, cut into 1/2-inch pieces
1/3 cup chilled solid vegetable shortening, diced
6 tablespoons (or more) ice water
For the filling
1/2 medium onion, medium dice
1/4 cup butter
3 tablespoons flour
salt and pepper to taste
1 cup milk
4 large eggs, lightly beaten
8 ounces fresh baby spinach, wilted and chopped
1/2 cup bacon, diced and partially rendered
8 ounces crimini mushrooms, sliced and sautéed
1 cup Jarlsberg cheese, shredded
Blend flour, sugar and salt in a food processor. Add butter and shortening and pulse until mixture resembles coarse meal. Add 6 tablespoons ice water and process until moist clumps form, adding more water by teaspoonfuls if dough is dry. Gather into ball and flatten into a disk. Wrap in plastic wrap and chill for 2 hours.
Position rack in lowest third of oven and preheat to 375F. Prepare a tart pan with grease or cooking spray.
Sauté onion in butter until tender. Blend in flour, salt, and pepper. Add milk; cook until smooth and thickened. Gradually add small amount of hot mixture to eggs. Return to saucepan and cook 1 minute. Remove from heat and spinach, mushrooms and half of the cheese (reserve 1/2 cup). Pour into pastry shell and top with remaining cheese. Bake for about 25 minutes until knife inserted comes out clean. Let cool for at least 15 minutes before serving (can be served warm or at room temperature).