Add 1 tablespoon of olive oil, the garlic, cinnamon, salt, allspice, coriander, black pepper, cumin and green cardamom together and then mix in with the lamb. Let this marinate for at least 30 minutes or up to overnight.
Heat a heavy bottomed pot such as a dutch oven, and then add the marinated lamb in a single layer. Brown the lamb on one side, and then flip and brown the other side.
Add the chicken stock and bay leaf and bring to a boil. Lower the heat to maintain a gentle simmer and then cover with a lid and cook until the lamb is very tender when prodded with a fork (about 1 hour)
While the lamb is cooking put the olive oil in a pan with a lid and add the onions. Cover with a lid and cook over medium heat until for 15 minutes, or until the onions are tender and wilted. Remove the lid and fry stirring constantly until the onions are caramelized (about another 15 minutes). Remove from the heat and set aside.
While the lamb is cooked, transfer it to a bowl with a slotted spoon and cover with aluminum foil to keep the meat from drying out.
Measure out the liquid. You should have 2 ¼ cups of liquid. If you have more, dump the extra out. If you have less, add water to make 2 ¼ cups.
To make the couscous add 1 tablespoon of olive oil to a clean pot and toast the couscous over medium heat until it is golden brown (about 5-7 minutes).
Add the braising liquid from the lamb along with the raisins and cook until the broth is absorbed (about 10 minutes).
Add the lamb and caramelized onions and stir to combine.