Fill a large pot with water and bring to a boil over high heat. Add 1 tablespoon salt carefully add the lasagna noodles. Return to a boil, reduce the heat to a low boil and cook for about 5 minutes, or until pasta is very al dente (slightly undercooked). Drain in a colander, rinse slightly and drizzle with olive oil to prevent sticking.
In a heavy, medium saucepan melt 4 tablespoons of the butter over low heat. Add the garlic and then the flour and stir to combine. Cook, stirring constantly, for 3 minutes. Increase the heat to medium and whisk in the half-and-half little by little. Cook until thickened, about 4 to 5 minutes, stirring frequently. Remove from the heat; add 2 cups of the grated Parmesan. Season with the salt, pepper and stir until cheese is melted and sauce is smooth. Cover and set aside.
Preheat the oven to 375 degrees F.
In a large bowl combine 1/4 cup Parmesan, Cheddar, and mozzarella. Toss to combine.
Grease a 3-quart baking dish or casserole with 1 tablespoon of butter. Spread a ladle full of sauce on the bottom of the pan. Cover the sauce with a single layer of cooked lasagna noodles. Spread another ladle full of sauce on top of noodles. Sprinkle with 1/3 of the mozzarella cheese mixture. Top with 1/3 of the sliced pepperoni. Repeat with remaining ingredients for 2 more layers.
Sprinkle 1/2 cup bread crumbs onto top of lasagna and top with remaining grated Parmesan, 1/4 cup. Bake, uncovered, for 40 to 45 minutes or until the lasagna is bubbly and hot and the top is golden brown. Remove from the oven and allow to sit for 5 minutes before serving.
Recipe courtesy of Michael Chiarello