How to Make the Ultimate Macaroni Cheese

This blog post may contain affiliate links. As an Amazon Associate I earn from qualifying purchases.

Here’s how to make the ultimate macaroni cheese – with a super flavourful cheesy sauce and perfectly crispy topping!

Large dish of macaroni cheese with a crispy topping, with a portion removed with a spoon

You know I’m a fan of cheesy pasta. There’s no greater combination on the planet.

Usually when I make cheesy pasta, I try to add some extra nutrition somehow – blending beans into a creamy pasta sauce, including plenty of veggies alongside all that indulgence, adding mushrooms to mac and cheese… but sometimes it’s just nice to spoil yourself with a big bowl of gooey, cheesy pasta without worrying about all that. It’s not a dish to eat when you’re on a diet, and it’s not a dish to eat when you’re in need of a healthy, balanced meal with lots of vegetables… but it is a dish to eat when you just want to treat yourself.

So here’s my recipe for the ultimate macaroni cheese. It’s absolutely perfect – just right for these cold, wintery evenings.

Portion of macaroni cheese on a plate with salad and garlic bread

What pasta should I use for macaroni cheese?

Obviously macaroni cheese is traditionally made with macaroni (it’s kind of in the name!), and that’s what I used here, but you definitely don’t have to stick to macaroni if you feel like using something different. I don’t often have macaroni in the cupboards, so I usually use a bigger pasta.

Ideally, you want to use a pasta shape that will hold the sauce and maximise cheesiness in every bite. Spaghetti’s not a great option, for example – the sauce will just slide right off it. Pasta shapes that are hollow (e.g. penne) or ones that have ridges (e.g. fusilli) are great for holding that sauce!

Once you’ve chosen your pasta, just boil  it up in plenty of water until it’s cooked al dente. It will cook a little more in the oven, so don’t overdo it.

Collage showing white sauce being cooked and mixed with pasta

Next, the creamy sauce!

Since this macaroni cheese is simple, we want to do it right – we need to get as much flavour into that creamy sauce as we can. I always start by cooking off some finely chopped onion and garlic. You don’t consciously notice them in the finished dish, but they add a lovely flavour to the creamy sauce. I also add a bay leaf or two, and a pinch of nutmeg. You’d be amazed at how much flavour these little extras can impart – they transform a classic white sauce into something really tasty.

You can cook your white sauce right on top of those sautéed onions – just make a simple roux (butter + flour), and add milk until you have a thick, glossy sauce.

Creamy macaroni cheese in a large frying pan

What cheese should I add?

For the ultimate macaroni cheese, I like to use at least two different cheeses, since they all bring something different to the table. At minimum, I like to use a mixture of mature cheddar and mozzarella. The mature cheddar adds tons of flavour, and the mozzarella adds that irresistible gooeyness to the sauce.

Ideally, you need to buy your cheeses in a block and grate them yourself – or, for mozzarella, buy a ball of the fresh stuff and tear it into chunks. Pre-grated cheese has a coating on it (usually potato starch) to stop it from clumping together, which can affect how the cheese melts. It’s fine to use if that’s all you have, but for the perfect macaroni cheese, grate it yourself! This is no time to be lazy – we’re aiming for perfection here.

Large dish of macaroni cheese with a crispy topping, with a portion removed

Do I need to bake macaroni cheese?

In short, no, but also yes. Macaroni cheese is totally delicious without being baked – just mix the cooked pasta through the sauce, let it simmer for a couple of minutes to make sure it’s hot, and then serve. Yum.

Buuut, it’s even better if you bake it in the oven for a while. Add some more cheese and some breadcrumbs on top, and bake it until it’s nice and crispy. This way you get the best of both worlds – you still get the gooey, saucy bit underneath, but you get that crispy cheese as well. Heaven.

This recipe makes a nice big batch of macaroni cheese – it should feed 6 people (or probably more like 10 if you’re serving it as a side dish rather than a full meal). If you’re only cooking for a couple of people, and you can’t stand the thought of eating this for a few nights running (which, let’s face it, seems unlikely), you can easily halve the recipe, or just freeze any leftovers.

Portion of macaroni cheese on a plate with garlic bread and salad

What else can I add to my macaroni cheese?

This recipe is for a simple, but amazing macaroni cheese. But as I mentioned before, I do often add extra bits and pieces to my cheesy pasta. Here are a few examples of ways you could jazz up this classic macaroni cheese recipe to make it a bit different:

– sprinkle the top with pumpkin seeds, sunflower seeds, sesame seeds etc. for an extra crunchy topping
– add chopped sun-dried tomatoes, olives, and artichokes for a Mediterranean-inspired flavour
– stir through some roasted vegetables before baking for heaps of extra flavour
– throw some frozen veggies in to boil with the pasta to add nutrition with no extra effort
– blend up a tin of white beans and stir it through the white sauce for added protein
– try adding different cheeses – blue cheese, crumbled feta, smoked cheddar, etc.
– bake your macaroni cheese across a couple of shallow dishes to maximise surface area for that crispy topping!

As you can see, there are all sorts of ways to personalise your dinner – but this ultimate macaroni cheese recipe is definitely a good place to start!

Portion of macaroni cheese on a plate with garlic bread and salad

Ultimate macaroni cheese

My ultimate macaroni cheese recipe – it’s simple, but has so much flavour! You can’t beat gooey, creamy pasta with a crispy cheese topping.

If you’ve cooked this recipe, don’t forget to leave a star rating!

5 from 12 votes
Print Pin Comment
Prep Time: 20 minutes
Cook Time: 30 minutes
Total Time: 50 minutes
Servings: 6 people
Calories: 804kcal
Author: Becca Heyes


  • 600 g (~ 1 1/3 lb / ~ 3 1/2 cups) uncooked macaroni
  • 4 tbsp butter, divided
  • 1 tbsp oil
  • 1 large onion, finely diced
  • 3 cloves garlic, minced
  • 3 tbsp plain flour
  • 750 ml (~ 3 cups) milk
  • 2 small bay leaves
  • 1/4 tsp ground nutmeg
  • Salt
  • Black pepper
  • 300 g mature cheddar cheese, grated (~ 3 cups when grated)
  • 100 g fresh mozzarella cheese, torn into a few chunks (~ 2/3 cup when torn up)
  • 4 tbsp dried breadcrumbs
  • 1 tsp dried parsley, to garnish (optional)


  • Boil the pasta in plenty of water until cooked al dente. Drain, and set aside (don’t worry if it sticks together a little as it cools – it will be fine once you stir it into the sauce!).
  • While the pasta is cooking, prepare the sauce. Melt 1tbsp butter in a large frying pan with a dash of oil, and add the finely chopped onion and garlic. Cook over a medium-low heat for 5-10 minutes, stirring regularly, until soft and translucent (you don’t want it to brown).
  • Add the remaining butter to the pan with the onions, and once it has melted, add the flour. Mix well to form a roux – it should be a thick paste. Cook for a minute or so, stirring constantly, then add a dash of milk (half a cup or so). Mix well until all the milk has become incorporated, then add some more. Add the bay leaves, and continue to add the milk a little at a time until you end up with a smooth sauce (apart from the small lumps of onion!). Simmer the sauce for a few minutes until it has thickened slightly, and add the nutmeg and a generous amount of salt and pepper.
  • Add the cheese to the sauce (hold back a bit of the cheddar for topping), and mix to combine. Cook for a few more minutes until the cheese has completely melted. Find the bay leaves, and discard them.
  • Add the cooked pasta, and mix to combine. Transfer the mixture into a large baking dish (mine was a deep dish that measured around 11 x 9 inches), and sprinkle over the remaining cheddar and the breadcrumbs. Bake at 190°C (Gas Mark 5 / 375°F) for around 30 minutes, or until the topping has crisped up to your liking.
  • Garnish with a little dried parsley if desired!


Nutrition Facts
Ultimate macaroni cheese
Amount Per Serving (1 portion)
Calories 804 Calories from Fat 302
% Daily Value*
Fat 33.5g52%
Saturated Fat 19.1g96%
Cholesterol 92mg31%
Sodium 564mg24%
Potassium 415mg12%
Carbohydrates 91.2g30%
Fiber 4.2g17%
Sugar 10.3g11%
Protein 33.7g67%
Calcium 470mg47%
Iron 4.3mg24%
* Percent Daily Values are based on a 2000 calorie diet.

Nutritional information is approximate, and will depend on your exact ingredients. Please calculate your own nutritional values if you require accuracy for health reasons.

Tried this Recipe? Leave a Comment!Comments and star ratings really help support the site – thank you!

Note: Nutritional information is approximate, and will depend on exactly what ingredients you choose. Information above is for 1/6 of the recipe.

Want a slightly lighter tasting pasta dish, that’s quicker to make too? Try my lemon and artichoke pasta!

Save This Recipe (New)

💾 Save this recipe! Enter your email and I'll send the recipe straight to your inbox, so you'll never lose it again. Plus, you'll receive 1-2 emails per week with new recipes, and a FREE e-cookbook!

Leave a Reply

Your email address will not be published. Required fields are marked *

Recipe Rating


  1. Just double checking: It’s 804 calories for 1/6 of it? No prob if it is, it looks totally worth it! Just wanna make sure I’m putting it in myfitnesspal right lol

  2. Hi Becca!
    My favorite dish has always been macaroni with cheese and ham, but because I became a vegetarian, I couldn’t eat it anymore. Because of this delicious alternative, I can eat my favourite dish again! I also really like the fact that you use at least 2 different cheeses in your recipe, the sauce has much more flavor that way.
    I admire that it only takes 30 minutes to make it, but it’s still delicious. I tried it at home and I put it also in the oven at the end like you said. It was even tastier! I enjoyed the crispy crust on top! I hope I can try some other recipes because I’m sure they will be as delicious as this one.
    Greetings Mirre5 stars

  3. This recipe looks delicious! I can’t wait to try it out, I think I am going to add a sprinkle of truffle infused extra virgin olive oil! Pinning it for later – Thanks!5 stars

  4. My own macaroni cheese is infinitely variable – my go-to is a leek and broccoli pasta bake, but when my daughter was young I used to make the sauce with a tin of tomatoes and add onion and sweetcorn, with a crispy breadcrumb topping – that was her favourite!

    Have you ever had German kaesespaetzle? Very similar, and even richer…. and they top it with caramelised onions, which makes it even nicer.

    And I have been fancying macaroni cheese all day, only for various reasons we couldn’t have it for supper, so perhaps tomorrow…..5 stars

  5. I love macaroni cheese and it’s my son’s favourite too. I’ve always used onions with mustard and bay leaf but I haven’t tried nutmeg.. will give that a go! I like the suggestion of chopped hard boiled eggs. My own “hack” is to put half a garlic baguette into the food orocessor with some more cheese (red Leicester for me) and use the resultant garlicky buttery crumbs as a decadent topping.
    Finally.. has anyone tried it with chilli cheese.. like Red!!5 stars

  6. Looks lovely, will definitely add this to my “To be tried” list. My topping at the moment is breadcrumbs, toasted pine nuts, mixed herbs and either vegetarian parmesan or some fried halloumi added at the last minute. Only problem is I tend to eat handfuls of it as I go!5 stars

  7. I always prefer to add some sliced tomatoes to the top, under the breadcrumbs. Very tasty. For the sauce itself I find that a bit of mustard powder is essential in bringing out the best flavour from the cheese.5 stars

    1. The other thing that I often do – with my kids enthusiastic approval, oddly enough – is to toss a couple of eggs in with the pasta to hard boil, then chop them up and mix them in. Dead easy and adds another element to the dish.

  8. I’ve followed faithfully Evelyn Rose’ s fish pie recipe without the fish. It makes a fantastic mac n cheese. I add sauted onions and mushrooms. It’s delicious.5 stars