Add the beef to a soup pot or Dutch oven. Cook over medium-high heat until just browned, breaking it up with your spoon as it cooks. I don't drain the fat.
Stir in the onion, celery, carrots, and garlic, and cook for another 8-10 minutes, stirring occasionally.
Add in the diced tomatoes, crushed tomatoes, canned beans, chicken broth, red wine vinegar, sugar, Italian seasoning, oregano, basil, and red pepper flakes (everything except the pasta and salt & pepper). Increase the heat to high and bring the soup to a boil.
Once boiling, reduce the heat and let the soup simmer (covered, with the lid slightly open) for 15-20 minutes.
Add the pasta in and continue to simmer until it's tender (about 15-20 minutes). Cover the pot again with the lid slightly ajar. Stir the soup a few times while it's cooking so the pasta doesn't stick to the bottom of the pot. Note: if you're planning on lots of leftovers, I recommend cooking the pasta separately and adding it to individual portions as needed (continue simmering for another 15 minutes to build flavors then add the pasta at the end).
Season the soup with salt & pepper as needed.