Melt 2 tablespoons butter in a heavy medium saucepan over medium heat, then add flour and cook, stirring, 1 minute.
Add milk in a stream, whisking, then add shallot, bay leaf, and peppercorns and bring to a boil, whisking. Simmer, whisking occasionally, 5 minutes. Strain béchamel sauce through a fine-mesh sieve into a bowl, discarding solids, and cover surface with parchment paper.
Discard stems and center ribs from greens, then coarsely chop leaves.
Cook lardons in a wide 6- to 8-quart heavy pot over medium heat, stirring occasionally, until golden-brown but not crisp, about 8 minutes. Transfer to paper towels to drain, then pour off fat from pot and wipe clean.
Heat remaining 1/2 stick butter in pot over medium-low heat until browned and fragrant, about 2 minutes, then cook onion, stirring, until softened, about 3 minutes.
Increase heat to medium-high, then stir in greens, 1 handful at a time, letting each handful wilt before adding next. Add béchamel, cream, garlic, red-pepper flakes, 3/4 teaspoon salt, and 1/2 teaspoon pepper and boil, uncovered, stirring, until sauce coats greens and greens are tender, about 10 minutes.
Stir in lardons, vinegar, and salt and pepper to taste.