2 pounds thin asparagus
3 cups water
salt and pepper
2 tablespoons butter
2 tablespoons flour
¾ cup Parmesan cheese, grated and divided
½ cup Monterey Jack cheese, grated
Adjust oven rack to upper-middle position and heat broiler to high. Line broiler safe baking dish with paper towels. Snap the woody ends off the asparagus and set both stalks and ends aside.
Bring water to a boil in a large skillet over medium-high heat. Add asparagus ends and ¼ teaspoon salt and cook covered, for 5 minutes. Using slotted spoon, remove asparagus ends and discard. Add asparagus stalks to skillet, cover and cook, stirring occasionally, until nearly tender, 2-4 minutes. Transfer asparagus to paper towel lined baking dish. Pour asparagus water into liquid measuring cup. If liquid does not read 1-cup mark, add water until it does. Melt butter in now empty skillet over medium heat. Add flour and cook, stirring constantly until golden, about 1 minute. Stir in reserved asparagus water and bring to boil. Reduce heat to medium-low and simmer until thickened, 3-5 minutes. Off heat, stir in ½ cup Parmesan and Monterey jack until smooth. Season with salt and pepper. Cover and let stand for 5 minuets. Remove paper towels from baking dish. (most of the moisture should have been retained from the asparagus into the paper towels. Drizzle sauce over the asparagus and top with remaining Parmesan. Broil until cheese is golden and asparagus is tender, 4-8 minutes. Serve.