Place whole unpeeled onions (bigger the better!) in a pot, cover with water. Bring water to boil, then turn down to a simmer. Cover and simmer the onions for 20 minutes. Remove, drain and cool the onions so you can handle them.
Mix together the lamb or beef, add cinnamon, allspice, salt, pepper and rice. Mix well, then add tomatoes, gently mix again, being careful not squeeze juice out of the tomatoes.
Cut the top and bottom from the cooked, UNPEELED onions. Slice into the onions by making a cup down the side of the onion that goes to the center of the onion. Remove the outer skin and then, VERY CAREFULLY, remove outer leaves.
Place a big of filling into each onion leaf and roll, like a sausage.
Add to hot, large frying pan coated with olive oil and brown. Add some beef stock and simmer 40 minutes covered.