Go Back
+ servings
Print Recipe
5 from 9 votes

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.
Prep Time20 mins
Cook Time30 mins
Total Time50 mins
Course: Main Course
Cuisine: Italian
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!


Serving: 1portion | Calories: 804kcal | Carbohydrates: 91.2g | Protein: 33.7g | Fat: 33.5g | Saturated Fat: 19.1g | Cholesterol: 92mg | Sodium: 564mg | Potassium: 415mg | Fiber: 4.2g | Sugar: 10.3g | Calcium: 470mg | Iron: 4.3mg