Bring a large pot of salted water to a boil, then add the elbow macaroni and cook until al dente, about 8 minutes. Drain and set aside.
In the same pot, melt butter over medium heat until it starts to bubble softly, filling the kitchen with a warm, buttery aroma.
Whisk in the flour quickly, stirring constantly to form a smooth roux; cook for about 1 minute until it turns slightly golden.
Slowly pour in the milk and heavy cream, whisking constantly to prevent lumps and create a creamy mixture that thickens slightly after about 3 minutes.
Stir in the shredded cheddar, mozzarella, and cream cheese, continuing to whisk until the cheese melts completely and the sauce becomes silky and gooey.
Season the cheese sauce with salt and black pepper to taste, ensuring a flavorful, well-balanced base.
Fold the cooked pasta into the cheese sauce gently, making sure each piece is coated with the cheesy goodness.
Transfer the cheesy pasta mixture into a baking dish, spreading it out evenly. If desired, sprinkle extra shredded cheese on top for a crispy, cheesy crust.
Bake in a preheated oven at 180°C (350°F) for about 20 minutes, until bubbling around the edges and the top turns golden brown.
Remove from the oven and let rest for 5 minutes—this helps the cheese sauce set slightly and makes serving easier.
Scoop out hearty portions, enjoy the bubbling, cheesy mess, and maybe add a dash of hot sauce or chopped herbs for extra flavor.