Ultimate macaroni cheese

Ultimate macaroni cheese

  • 1
  • 2
  • 3
  • 4
  • 5
(49 ratings)

Prep: 40 mins - 45 mins Cook: 25 mins


Serves 4 generously, with enough for seconds

Learn how to make perfect macaroni cheese every time with this recipe

Nutrition and extra info

  • Vegetarian

Nutrition: per serving

  • kcal819
  • fat42g
  • saturates26g
  • carbs78g
  • sugars12g
  • fibre3g
  • protein36g
  • salt2.03g
Save to My Good Food
Please sign in or register to save recipes.


  • 175g mature cheddar, such as Denhay



    Once cheddar was 'Cheddar', a large, hard-pressed barrel of cheese made by a particular…

  • 50g gruyère



    Gruyère is an undoubted pinnacle of traditional Swiss cheese-making, a culinary masterpiece as…

  • 50g parmesan (or vegetarian alternative)



    Parmesan is a straw-coloured hard cheese with a natural yellow rind and rich, fruity flavour. It…

  • 50g white bread, crusts cut off
  • 3 medium tomatoes



    A member of the nightshade family (along with aubergines, peppers and chillies), tomatoes are in…

  • 280g good-quality macaroni
  • 700ml full-fat milk, plus a bit extra



    One of the most widely used ingredients, milk is often referred to as a 'complete' food…

  • 50g butter



    Butter is a dairy product made from separating whole milk or cream into fat and…

  • 50g plain flour, minus 1 tsp
  • 1 rounded tsp Dijon mustard


  1. Making macaroni cheese is a bit of a juggling act, so it’s easier if you get a few things prepared ahead. Finely grate all the cheeses, keeping them separate. Tear the bread into pieces and whizz in a food processor to coarse crumbs. Mix 25g of the cheddar and one-third of the parmesan into the breadcrumbs. Toss the rest of the cheeses together and set aside. Thickly slice the tomatoes. Butter a dish, about 30 x 20 x 5.5cm. Heat oven to 190C/fan 170C/gas 5.

  2. Put a pan of water on to boil. Tip the macaroni into the boiling water, stir and bring it back to the boil. Simmer for 8 mins, or cook according to pack instructions, stirring occasionally to stop it sticking. While this is cooking, start the sauce.

  3. Warm the milk in a jug in the microwave (or in a pan). Melt the butter in a pan (big enough to take the macaroni as well), then stir in the flour. Cook for 1 min, stirring, then take off the heat. Pour in one-third of the warm milk and beat well with a wooden spoon until smooth – it is quite thick at this stage. Add another third – it may go a bit lumpy, but keep beating well and it will go smooth again. Pour in the final third of milk and keep beating until smooth.

  4. When the macaroni is done, tip it into a colander and put it briefly under very hot running water to keep it separate. Drain. Put the pan of sauce back on the heat and cook, stirring, until thickened and smooth. Lower the heat and simmer for about 4 mins until glossy, stirring every now and then. Remove from the heat and stir in the cheese and mustard, then beat in 5 tbsp milk, or enough to give a slack coating consistency. Taste and season (you shouldn’t need much salt). If the macaroni is sticking at all, put it under the hot tap again, then stir to separate. Drain well, then gently mix it into the sauce and stir to coat completely. If necessary, adjust the consistency again with milk. There should be enough sauce to coat the macaroni thickly and liberally.

  5. Tip the macaroni cheese into the buttered dish, scatter over the cheesy crumbs and lay the tomatoes casually over the top. Heat through in the oven for 12-15 mins until beginning to bubble around the edges. Grill for 3-5 mins to brown the crumbs. Let it all settle for 1-2 mins, then serve while still piping hot.

You may also like

Comments, questions and tips

Sign in or create your My Good Food account to join the discussion.
Jules Goddard's picture
Jules Goddard
26th Jun, 2020
Really lovely recipe
20th Nov, 2018
I don't normally bother measuring anything when I make macaroni cheese which means it's a bit hit and miss. I'll definetely stick to the recipe in the future. Really easy and tasty.Not sure how much of a difference the gruyere made but The parmesan is a must. The only difference I made was to make it one pot. I just melt the butter in with the pasta, then add the flour and stir really well. Cook for a minute then add the milk. Never ever had an issue with lumpy sauce making it this way and saves the dishes.
AnnieGambles's picture
2nd Sep, 2014
My first ever attempt at macaroni cheese was a tad disastrous, quite dry with none of the silky richness you expect from the dish, so I was a bit worried about trying again. Well, this recipe was a revelation. A bit fiddly, but very easy with a great consistency and lots of flavour. I was a bit dubious about the tomatoes on top, but they're a lovely touch and prevent it being too salty. The only change I made was to add some smoked bacon, which I pre-fried for crispiness and mixed in along with the pasta, which was very nice. Clean plates all round and I will definitely be making it again.
20th Jul, 2014
Best recipe I've tried. Followed the recipe exactly and added some pancetta which I mixed in with the cooked macaroni when I added the sauce. The breadcrumbs on top are a great addition and adds a lovely crunch. Definitely making this again :)
7th Mar, 2014
Amazing absolutely delicious recipe! My family and friends loved it. I added 200gms smoked bacon to it the second time and it was double delicious! Wow!
20th Aug, 2013
Made this last night for my cheese mad sister. It went down really well. Didn't have gruyere but did add a little blue wensleydale into the sauce and on the topping which gave it a good savoury taste. Will do again.
8th May, 2013
This is the second time I've made this, and it goes down a storm at my house. I opted for no tomatoes on mine though. This time round I swapped gruyere for Emmentaller and it tastes just as lovely
23rd Dec, 2012
Made this dish after thinking of ways to use up the remains of our cheese board! I used the same quantity of cheese but used different cheeses including a goats cheese. I used long Thick macaroni and didn't add the breadcrumbs on the top but did grate extra cheddar on the top instead! My other half LOVED this dish and said it was the best macaroni cheese he ever has had. A 10/10 dish! I served it with a Salad tossed in sesame oil mustard and lemon juice vinergeatte which i thought worked well against the cheesy dish.
28th Nov, 2012
Kids thought it was the best macaroni cheese they'd ever had. Didn't have gruyere or Parmesan in so just added a bit extra cheddar. Added some veggie bacon that needed using to the sauce before adding the pasta. Used wholemeal breadcrumbs and halved a few cherry tomatoes for the top. Tasted delicious and plenty of leftovers for tomorrow night too. Would very easily serve 4 adults.
15th Nov, 2012
Absolutely sublime!


11th Jul, 2015
Could you tell me if I can make this recipe the day before and then heat it on the day required? Would I require more sauce so it doesn't dry out?
19th Jan, 2014
Curious, 800 calories is almost what I can eat in an entire day. Is that for the whole recipe, or just a serving?
goodfoodteam's picture
29th Jan, 2014
Hi there, thanks for your question. The calorie count it per serving. Thanks, BBC Good Food team
Be the first to suggest a tip for this recipe...Got your own twist on this recipe? Or do you have suggestions for possible swaps and additions? We’d love to hear your ideas.
Want to receive regular food and recipe web notifications from us?