Heat the olive oil in a large pot over medium-high heat (a Dutch oven works great for this).
Add the ground meat and cook, breaking it up into smaller crumbles with a wooden spoon, until browned, about 8 minutes.
Add the chopped onions and cook, stirring occasionally, until softened, about 5 minutes.
Stir in the minced garlic, tomato paste, dried oregano, and red pepper flakes, cooking for about 1 minute while stirring constantly.
Pour in the water (or broth/wine) and use the wooden spoon to scrape up any browned bits of meat or onion stuck to the bottom of the pot.
Stir in the crushed tomatoes, 3/4 teaspoon of salt, and a generous pinch of freshly ground black pepper.
Bring the sauce to a gentle simmer and cook, uncovered, for 25 minutes. Stir occasionally and taste the sauce a few times to adjust the seasoning as needed (see notes for seasoning suggestions).
About 15 minutes before the sauce is done, bring a large pot of salted water to a boil. Cook the pasta according to the package instructions, but start checking for doneness 1-2 minutes before the recommended time.
Remove the sauce from the heat and stir in the fresh basil. Add the cooked pasta to the sauce and let it sit for a minute so the pasta absorbs some of the sauce. Toss everything together and serve with a generous amount of grated Parmesan cheese on top.