Place the potatoes in a large pot, cover with water and bring to a boil. Reduce the heat and simmer about 20 minutes, until tender. Drain and return to pot.
Add the milk, broth, butter and 3/4 tsp. salt. Mash with a potato masher until fairly smooth.
Heat the oil in a large skillet over medium heat. Add the onion and cook, stirring occasionally until very tender, about 8 minutes. Add garlic and remaining 1/4 tsp. salt, stirring until fragrant, about 1 minute.
Add the spinach in batches and cook until spinach is wilted and any liquid is absorbed, about 5 minutes.
Spread half the potato mixture into a sprayed 2-qt. baking dish. Top with half of the spinach mixture and half of the cheese. Top with the remaining potato mixture, the remaining spinach mixure and the remaining cheese.
Bake, uncovered, in a preheated 400º oven until the filling is heated through and the topping is browned and bubbly, about 25 minutes. Let stand 5-10 minutes before serving.