Preheat your oven to 350°. Grease a 9 inch baking pan.
Dice the bacon into 1/2 inch pieces. Cook the bacon until it is crispy. set aside on paper towel.
In a large bowl mix the potatoes, cooked bacon, melted butter, onion, garlic powder, salt and pepper, cheddar and Parmesan cheese. Mix to coat and combine well.
Add the potato mixture to the greased 9 inch baking dish.
Pour the half and half cream over top, and dot with the hard butter on top.
Bake for 55-60 minutes until the potatoes around the edges are lightly browned. Let rest for 5 minutes then serve garnished with chopped fresh parsley on top.