Heat oil in a 6-qt saucepan over medium-high heat. Add onions and cook, stirring, until soft (5 minutes). Using a slotted spoon, transfer onions to a bowl.
Stir in chuck, cumin, pepper, cilantro, parsley, salt, paprika, cinnamon, and egg. Form mixture into about forty very small balls.
Return saucepan and oil to medium-high heat. Add meatballs and cook, turning, until browned all over (4 minutes). Transfer to a plate and set aside.
Return saucepan to medium-high heat and add oil. Season ribs with salt and pepper. Working in batches, add ribs, and cook, turning, until browned on all sides (8 minutes). Transfer ribs to a plate and set aside.
Add garlic and onions to pan, and cook, stirring, until lightly caramelized (5 minutes). Return ribs to pan along with stock and bring to a boil. Reduce heat to medium-low, cover and cook until beef is just tender (1 hour).
Add meatballs and cook until tender (8 minutes). Add spinach and beans and cook until spinach and beans are tender (4 minutes). Serve over cooked couscous.