Place the pasta shells in a large pan of boiling water and cook for 10 minutes until el dente. Drain and run under cold water to prevent the shells from sticking together.
Meanwhile, make the cheese sauce. Place the butter in a medium-sized saucepan and heat on a medium-high heat until melted. Add the flour and stir with a whisk until a smooth paste forms. Add the milk a splash at a time, stirring with the whisk until smooth before adding the next splash of milk. When all of the milk has been added, continue to stir, whilst heating until the sauce thickens.
Once thickened, add all but 3 tbsp of the cheddar cheese, all of the mozzarella, half of the salt and half of the pepper. Stir until the cheese melts, then turn off the heat.
Heat the olive oil in a frying pan/skillet on a medium heat and add the garlic. Allow to cook gently for 30 seconds, then add in the spinach and the remaining salt and pepper. Allow to wilt, stirring occasionally, then add the spinach to the cheese sauce.
Place the shells in a large, oven-proof serving dish. Use a spoon to carefully fill each shell with the spinach/sauce mixture.
Sprinkle on the breadcrumbs and the remaining cheddar cheese. Place in the oven for 20 minutes until golden brown.
Sprinkle with parsley before serving.
Nutritional Information is per serving (based on 2 hungry people!).