Heat the olive oil in a large pot or pan over medium heat. Add the onions and cook until the start to soften, about five minutes. Add the garlic and ground beef, using a spatula to break it up as it cooks. Add the salt and vinegar, and scrape up any browned bits that have collected on the bottom of the pan. Add the tomato paste and stir until it’s melted into the beef.
Add the beef stock and bring it to a boil. Add the pasta and press it into the liquid so it’s covered. Let it all simmer for about ten minutes or so until the pasta almost cooked through and most of the liquid as been absorbed.
Add the tomato sauce, brown sugar, Worcestershire sauce, and parsley and stir. Bring it to a simmer and let it all cook together, stirring so it doesn’t stick to the bottom, until the pasta is cooked through, another five minutes or so. Serve with grated cheddar cheese.
If you use low-sodium beef stock you will need to adjust the amount of salt in the recipe, so be sure to taste as you go to make any necessary adjustments.