Cut beef into smaller bite-size pieces.
In Dutch oven, heat half of the oil over medium-high heat; brown beef, in batches and adding remaining oil as needed.
Reduce heat to medium. Add onions, garlic, chili powder, cumin, cinnamon, oregano, sugar and salt.
Cook, stirring often, until softened, about 5 minutes.
Add tomatoes, beef stock, vinegar and tomato paste, crushing tomatoes with back of spoon; bring to boil.
Reduce heat to low; cover and simmer for 1 hour, stirring occasionally. Uncover and simmer, stirring occasionally, until thickened, about 1 hour and 15 minutes.