1.5 lb. bacon, cut crosswise into 1/4" strips
1 lb. elbow macaroni
8 T. unsalted butter
1/2 c. flour
1 tsp. salt, plus more to taste
1/4 tsp. pepper, plus more to taste
3 c. whole milk, or more as needed
1 c. mild Cheddar cheese, shredded
1 c. mozzarella cheese, shredded
8 oz. pesto
Cook the bacon in a large skillet over medium heat, stirring occasionally, until crisp (15 to 18 minutes). Use a slotted spoon to transfer the bacon to a paper-towel lined plate. Set aside.
While the bacon is cooking, in a large saucepan or small stockpot, cook the pasta according to the package directions.
Drain and set aside.
Wipe out the saucepan or small stockpot and return it to medium heat. Add the butter. When melted, sprinkle in the flour, salt and pepper and cook, whisking, for 2 minutes. Slowly add the milk, whisking. Continue cooking and whisking until the mix thickens, about 3 minutes.
Reduce the heat to low and stir in the cheeses. Stir in the pasta and pesto. Set aside 1 c. of bacon and stir in the remaining bacon. Add more salt and pepper to taste. Serve immediately, garnished with the reserved bacon (if mixture gets too thick, as it cools, stir in additional milk).