In a skillet over medium heat, cook the bacon until browned and crispy. Drain on paper towels. When cool, crumble in small pieces.
Cook the macaroni in a large pot of boiling salted water over medium-high heat as package directs.
While the macaroni is cooking, melt the butter in a large saucepan over medium heat. Slowly whisk in the flour, stirring until blended. Slowly add the milk and half and half, stirring constantly, until smooth. Heat until mixture bubbles, and cook for two minutes.
Reduce heat to medium-low and continue cooking until sauce thickens, about 10 minutes, stirring constantly. Turn off the heat and cool for 1 minute. Add cheese a handful at a time, stirring until all of the cheese is incorporated and melted.
Drain the macaroni in a colander and return to the pot. Pour the cheese sauce over the hot pasta and stir to combine. Add half of the crumbled bacon, stir, and season to taste with salt and pepper.
Serve in individual bowls and garnish each serving with the remaining crumbled bacon. Makes 4 servings.
This recipe may be easily doubled. Store any leftovers covered in the refrigerator for up to 48 hours. Reheat in a saucepan over medium heat until hot and bubbly, adding a little extra milk if necessary.