Preheat oven to 350°F.
Place the potatoes in a large pot and add water until potatoes are covered. Add the salt and boil until fork tender. Drain and transfer to a large mixing bowl. Mash potatoes with the butter, milk, and white pepper. Transfer potato mixture to a deep casserole dish lightly coated with cooking spray, leaving one-half-inch on top and around the edges for topping.
Meanwhile, heat the oil in a large skillet over medium-high heat. Add the onions and cook until soft and golden, stirring frequently, about 10 minutes. Stir in the broth and cook until onions are deep brown, about 5 more minutes. Season with salt and pepper.
Spread onions evenly over potatoes and top with the shredded cheese. Bake for 20 minutes or until cheese is bubbly.