Pre-heat oven to 375 F. Grease a 13 x 9 inch casserole dish with butter or oil and set aside.
Boil potatoes in a large pot of boiling water until fork tender (about 10 minutes). Drain potatoes and allow to cool until they are easy to handle. Shred potatoes using a box grater. Aside.
While the potatoes are boiling, Whisk the cream cheese, sour-cream, milk, butter, garlic powder, salt and pepper. Add in the shredded potatoes, 1/2 cup cheddar cheese, 1/2 cup mozzarella cheese, and green onion. Stir mixture with a wooden spoon until well combined.
Pour mixture into casserole dish and top with remaining cheese. Bake for 30-40 minutes or until cheese is bubbly.
While the casserole is baking, chop 2 strips of bacon and cook in a small skillet on medium heat until crispy. Top baked casserole with bacon, green onion and cilantro.