Prepare the Potatoes
Place the cubed potatoes in a large pot and cover them with water. Add salt, if desired, and bring the water to a boil. Cook for 10-15 minutes, or until the potatoes are fork-tender.
Cook the Spiced Meat Mixture
While the potatoes cook, heat the oil in a skillet over medium heat. Add the onions and garlic, sautéing them until softened. Stir in the curry powder, cumin, and coriander, and cook briefly until fragrant.
Combine the Meat and Seasonings
Add the ground beef to the skillet, breaking it up with a heavy spoon as it cooks. Season with salt and pepper, then add the crushed tomatoes, broth, and sugar. Allow the mixture to cook for 20-30 minutes, stirring occasionally to meld the flavors.
Preheat the Broiler
As the meat mixture simmers, preheat the broiler in your oven.
Mash the Potatoes
Once the potatoes are tender, drain them and pass them through a food mill or potato ricer back into the pot. Stir in the peas and cook briefly to combine.
Make the Potato Topping
Add the hot milk, two tablespoons of butter, and white pepper to the mashed potatoes, beating them with a wooden spoon until smooth and creamy.
Assemble the Dish
Preheat an eight-cup baking dish (a soufflé dish works well) and spoon the hot curried meat mixture into it. Spread the creamy mashed potatoes over the top, smoothing them out evenly. Dot the top with the remaining tablespoon of butter.
Broil and Serve
Place the assembled dish under the broiler until the top is golden brown and crispy. Serve immediately while hot.