The first step is to soak your rice in a bowl cool water. The rice will absorb some of the water -- we'll drain off the water in a later step.
Fill a pot with water (enough to cover a whole onion by 1" and bring to a boil. Cut off the very top and bottom of each onion. Make a cut down one side of each of the onions, cutting into the center from top to bottom. This helps the onion layers cook evenly and make it easier to peel. Add the onions, and let them cook for 10 minutes or until the layers soften and separate easily.
Drain the rice completely. In a large mixing bowl, add the drained rice, tomato paste, cinnamon, allspice, cumin, coriander, salt, pepper, cilantro or parsley and ground meat. Mix well.
When the onions have finished cooking, remove and drain from the boiling water. Let cool and separate out the layers individually and place 1 heaping tablespoon of the filling, wrap onion around filling, but not too tightly to allow rice to expand during cooking.
In a large, oven-safe saute pan over medium-high heat, swirl in the olive oil. When pan is hot, place the onions seam-side down. Let cook for 2 minutes until the bottoms have browned slightly. Add vinegar to the pan and sprinkle the tops of the onions with sugar. Cover the pan and turn the heat to low. Cook for 20 minutes or until the meat and rice are fully cooked, rotating the onions halfway during cooking.