How to Make It
Heat the oil in a tagine or Dutch oven over medium-high heat until shimmering. Brown the shoulder on both sides, about 3 minutes per side, lowering the heat as needed to prevent burning. Set the shoulder aside, reduce the heat to medium and add the chopped onion. Sauté until softened, about 4 minutes. Then add the garlic, salt, ground seasonings and saffron. Sauté until aromatic, about 30 seconds, then stir in the chicken broth and add the bay leaves, cardamom and cinnamon.
Return the goat to the pot, bone side down; bring to a simmer, then cover and reduce the heat to low. Simmer for 2 hours, then flip the goat over and simmer for 1 more hour.
In a large skillet, warm the olive oil on medium-low heat for 1 minute, then add the sliced onion. Sauté until softened, about 4 minutes, then add the chopped tomatoes and a pinch of salt. Continue to sauté the onion and tomato until caramelized, about 45 minutes, stirring every 5 minutes. Once caramelized, stir in the honey and reduce the heat to low to stay warm.
When the goat is tender and easily pulls away from the bone, remove it from the tagine and set it on a cutting board to rest for 10 minutes. As the shoulder rests, fish the bay leaves, cardamom pods and cinnamon stick from the tagine; raise the heat to medium and gently reduce the liquid by 1/3 to help concentrate the flavors, then return the heat to low.
Once the goat has rested, remove the bones and cut up the meat into bite-sized pieces. Return the goat meat to the tagine, add salt to taste and serve. When plating the curry, add a spoonful of the makfoul on top and garnish with freshly chopped parsley.