Heat the olive oil in a large saucepan over medium heat. Add the chopped onion and cook until soft, about 5 minutes. Then add the minced garlic and cook for another minute.
Stir in the crushed tomatoes, salt, black pepper, red pepper flakes, and balsamic vinegar. Bring to a simmer and let it cook for 30 minutes.
Remove the sauce from heat. Stir in the fresh basil, adjust the seasoning if needed, and serve warm.