Heat oil over medium in a large saucepan. Add onion and garlic; season with salt and pepper. Cook until softened, stirring occasionally, 6 to 8 minutes.
Add beef, and cook, breaking up meat with a wooden spoon, until no longer pink, 4 to 5 minutes. Add tomato puree, mustard powder, sugar, and vinegar. Cook, stirring occasionally, until slightly thickened, 8 to 10 minutes. (To store, refrigerate, up to 2 days.) Serve warm on rolls.