Heat the olive oil, in a large saucepan over medium to low heat. Add the onion and sauté for 5 minutes, until translucent.
Add the ground beef and cook over medium-low heat, breaking it up with a wooden spoon, for 10 to 12 minutes, or until cooked. Stir in salt and pepper.
Add tomato sauce, water and tomato paste. Stir well. Bring to a boil. Reduce heat to low, cover and simmer for 2 hours, stirring every 30 minutes. Remove cover and simmer for 15 more minutes or until some oil rises to the top of the sauce. Taste and adjust for salt and pepper.
Remove from heat. Serve over cooked and drained pasta or use to make lasagna. Allow to cool and refrigerate for up to five days, or freeze in resealable plastic bags for up to three months.