Preheat oven to 180c or 350f.
Cook pasta (250g/9oz) according to packet directions, taking out & draining 1 min short of recommended cooking time, mix through 1 tbsp. salted butter and set aside.
Heat a non-stick frypan over medium heat and fry speck (150g/5oz) for 2-3 mins, or until it starts to brown and crisp, then set aside. Don't wipe out pan.
In a medium-sized microwave safe bowl, melt 2 tbsp salted butter. Once melted add bread cubes (2-4 slices depending on size) and mix to coat evenly in butter - I use a pastry brush for this. Then set aside.
Meanwhile, make your white sauce by melting remaining salted butter (40g/1½oz) in a medium saucepan over low heat.
Once melted, add flour (40g/1½oz) and continue to stir over low heat for 1-2 mins until the flour starts to sizzle and bubble, it will look grainy and get lighter in colour - then remove from heat.
Still off the heat, add 3-4 tbsp. of milk (2 cups total), mixing well until milk is totally absorbed and mixture is smooth (it will look like play dough at first). Repeat this 3 times - by now you should have what resembles smooth single cream - you can now add the remaining milk, mixing to combine completely.
Now place the saucepan over low heat and stir continuously (see my notes for my secret stirring technique - trust me it helps!) for about 4-5 minutes, or until your sauce is thick. Stir through parmesan (40g/1½oz) and cheddar cheese (40g/1½oz), then set aside.
Reheat the non-stick frypan then add lamb (150g/5oz) rosemary (2 tsp fresh/½ tsp dried) and crushed garlic (2 cloves), fry for 1-2 mins until garlic starts to cook but not burn.
Add lamb mixture, pasta, and reserved speck to white sauce and mix gently to combine. Place mixture into a lightly greased ovenproof pan/baking dish and bake for 15 mins.
Remove from oven, scatter bread cubes on top and return to oven and bake for 15 mins to crisp bread cubes. Serve immediately.