Boil the diced potatoes in salted water until tender, about 10 minutes. Drain and set aside.
In a large skillet, melt the butter over medium heat.
Add the chopped onion and cook until soft and translucent, about 5 minutes.
Stir in the minced garlic and cook for another 1 minute.
Sprinkle the flour over the onion and garlic, stirring constantly for about 1 minute to cook out the raw flour taste.
Gradually whisk in the milk and broth, continuing to stir until the sauce thickens and is smooth.
Add the flaked fish, boiled potatoes, and grated cheese to the sauce, stirring gently to combine.
Cook for another 5 minutes until everything is heated through and the cheese is melted.
Stir in the chopped parsley and season with salt and black pepper to taste.
Enjoy your meal!