Preheat the oven to 350 degrees Fahrenheit.
Cut the cauliflower away from the core and discard the core. Roughly chop the cauliflower florets into bite size chunks.
For Instant Pot:
Add 1 cup of water to the Instant Pot along with the chopped cauliflower. Close the lid and set the valve to sealing. Set to pressure cook for 3 minutes. When the 3-minute cook time is finished, turn the valve to quick release. Once all of the pressure is released, open the Instant Pot and pour the cauliflower into a colander to drain off any excess water.
For Stove Top:
Place the cauliflower in a large pot and cover with water. Cover the pot with a lid and bring to a boil over medium-high heat. Reduce the heat to medium and simmer covered for 15 minutes, or until the cauliflower is very tender. Pour the cauliflower into a colander to drain.
Pour the hot cauliflower into a large bowl and add the butter, heavy cream, garlic powder, salt, and pepper to taste. Use an immersion blender to puree the cauliflower until smooth, or transfer to a food processor to puree.
Pour half of the cauliflower into a 9x12 glass casserole dish. Sprinkle with half of the shredded cheese. Top with the remaining cauliflower, then sprinkle with the rest of the cheese.
Bake the mashed cauliflower for 25-30 minutes at 350 degrees until the cheese is melted and the cauliflower is bubbling around the edges.
Serve hot!