Preheat oven to 350°. Bring a large pot of salted water to a boil over high heat. Coat a medium baking dish with non-stick cooking spray.
Prepare asparagus by holding bottom half of each spear with both hands and gently bending it until it snaps where it naturally breaks, separating tough fibrous end from tender part. Discard ends. Cut asparagus into pieces, add to pot, and cook until soft, 4–6 minutes. Reserve 1 cup of the cooking water, then drain asparagus.
Melt 4 tbsp. of the butter in a saucepan over medium-low heat. Add flour and cook, stirring, for 2 minutes. Whisk in reserved cooking water, then the cream, stirring until smooth and thick, 8–10 minutes. Add paprika, then season to taste with salt and pepper.
Layer asparagus, eggs, and sauce alternately in a medium baking dish, ending with sauce. Sprinkle with bread cubes, cracker crumbs, and parmigiano. Dot with remaining 2 tbsp. butter.
Bake until bubbling and golden, 25–30 minutes.