Pulse the onion, garlic, parsley, and cilantro in a food processor until finely chopped but not puréed. Transfer to a large bowl, add the beef, paprika, salt, pepper, cumin, turmeric, ras el hanout, olive oil, breadcrumbs, and water, and mix gently just until combined. Cover and refrigerate for 30 minutes.
Form the mixture into small meatballs, about 1½ inches in diameter, and arrange on a tray. Heat the oven to 340°F/170°C convection.
In a wide, heavy oven-safe pot or deep skillet, heat the olive oil over medium heat. Brown the meatballs in batches, turning gently, until lightly colored on all sides, about 2 to 3 minutes total. Transfer to a plate.
Add the onions to the pot and cook, stirring occasionally, until softened and lightly golden, about 8 minutes. Add the garlic, paprika, black pepper, salt, and turmeric and cook until fragrant, about 30 seconds. Stir in the bell pepper, tomato paste or purée, tomatoes, date syrup, and water.
Return the meatballs to the pot, ensuring the liquid reaches about halfway up the sides of the meatballs. Bring to a gentle simmer, cover, and cook over medium-low heat for 40 minutes.
Uncover and transfer the pot to the oven. Cook until the sauce thickens slightly and the meatballs are lightly browned, about 15 minutes. Serve hot with plain white rice.