Put a large pot of unsalted water on to boil for the potatoes.
Whiz the bread in a blender or food processor to make a fine crumb.
Butter the bottom and sides of your baking dish (see tips); then use most of the breadcrumbs (reserve a handful for later) to coat the sides and bottom, pressing down where you need to. Set aside.
Grate the parmesan; set aside. Cut up the mozzarella; set aside. Zap the bacon in the microwave until cooked; then crumble and set aside.
Start heating your oven to 175 C / 350 F / Gas Mark 4.
Wash and peel the potatoes and cut in halves or quarters. Boil them until cooked in the pot you put on. Just before draining them, zap the milk and the butter in the microwave to heat the milk and melt the butter.
Drain the potatoes, add the heated milk, and mash the potatoes.
Add all the remaining ingredients (except the reserved breadcrumbs) and fold them in.
Transfer the potato mixture to the baking dish, spreading it smoothly, sprinkle with the remaining breadcrumbs and press them down into the potato.
Pop into oven (or at this point, you could cover and refrigerate for baking the next day.)
Bake until the cake is set, though it will still have a bit of give in the middle. This should take anywhere from 1 to 1 ¼ hours. Remove from oven, and let it rest for 10 to 15 minutes before you attempt to turn it out of the pan.
Serve warm or hot in slices.
Use a 9 inch / 23 cm wide round baking pan. Springform or false-bottom could be ideal, if you have one of them.½ pound (250 g) grated Parmesan is about 2 cups of the fresh cheese.