In a large pot over medium-high heat, brown the beef on all sides in the oil. Season with salt and pepper. Transfer to a plate.
In the same pot over medium heat, brown the onion and garlic. Deglaze with the wine. Add the broth and return the meat to the pot. Bring to a boil. Cover and cook over medium-low heat for about 2 hours. Remove the cover and cook for about 30 minutes or until the meat is fork tender and the sauce has reduced by half.
With the rack in the middle position, preheat the oven to 350 °F (180 °C).
Drain the meat and place on a work surface. Pour the cooking juices into a 11 x 8-inch (28 x 23 cm) baking dish. Shred the meat while removing most of the fat. Spread the meat into the baking dish and toss with the cooking juices. Set aside.
Meanwhile, in large pot of salted boiling water, cook the potatoes for about 25 minutes or until tender. Drain. With a potato masher, crush the potatoes with the butter. Add the milk and garlic. Season with salt and pepper.
Spread the mashed potatoes over the shredded meat. Bake for 30 minutes. Place the cheese slices on top of the pie. Finish cooking under the broiler for about 5 minutes or until the cheese is lightly browned. Let rest for 10 minutes.
Meanwhile, in a skillet, cook the tomatoes in the oil with the maple syrup and harissa. Spread the stewed tomatoes over the hot sheperd’s pie. Sprinkle with the parsley. Serve immediately.