Place the shredded potatoes and onions in a muslin or kitchen towel and squeeze all of the liquid from them. To get crispy hash browns you need the potatoes to be as free from moisture as possible.
Add the potatoes, onion, cheese, garlic powder, salt, and pepper to a large bowl and mix until thoroughly combined.
Heat olive oil and butter in a large cast-iron skillet over medium heat until the butter is melted. Carefully swirl the skillet to ensure the bottom is evenly covered.
Working in batches, add the potatoes to the skillet and shape them into patties. Cook for 4-5 minutes until golden brown before flipping. Cook for another 4-5 minutes, or until golden brown and crispy.
Remove hash browns from skillet and keep warm. Repeat Step #3 with the remaining potato mixture. Add more olive oil to the skillet, as needed.
Remove from heat and transfer hash browns to individual serving plates. Serve immediately. Enjoy!