Make the lamb filling:
In a large, deep skillet or Dutch oven, heat the oil over medium-high heat, add the onions, season with a pinch of salt and cook, stirring frequently, until the onions are soft and light golden brown, about 10 minutes. Add the meat and cook, stirring occasionally, until the meat has lost its pink color. Season with 1 tsp. kosher salt and 1/4 tsp. freshly ground pepper. Add the garlic and the wine. Raise the heat if necessary so that the wine simmers vigorously and reduces down slightly (the meat will be giving off juices, too.) Add the chicken broth, tomatoes, tomato paste, rosemary, and parsley stems. Adjust the heat until you have a lively simmer and cook the meat, stirring occasionally, until the liquid has reduced to a sauce consistency and cloaks the meat, like a bolognese sauce.
Remove from the heat, let the meat cool slightly, remove the herb stems, and then stir in the parsley leaves. Taste and adjust salt and pepper.
Make the potato topping:
Boil the potatoes in a large pot of salted water until they’re very tender when poked with a knife. Drain them and return them to the pot. Put the pot over low heat and dry out a little more moisture from the potatoes by shaking them over the heat for a minute or two. Remove from the heat and mash with a hand masher or wooden spoon. Gradually beat in the milk and 1-1/2 tsp. salt and then the butter. When the potatoes are smooth, season with pepper, taste and add more seasoning or milk, if necessary. The consistency should be fairly thick because the potatoes will soak up liquid from the meat filling during cooking.
Assemble the dish:
Heat the oven to 375°F. Spread the meat filling in a 9x13-inch baking dish. Drop large spoonfuls of potatoes evenly over the surface of the meat and gently spread to get an even layer; it shouldn’t be perfectly smooth. Bake 30 to 40 minutes in the hot oven until the potatoes are golden brown and the filling is bubbling around the edges. Let cool at least 15 minutes before serving.