Fill a large pot with water and bring to a boil over high heat. Working in batches, drop the tomatoes in the water for 1 minute. Carefully take tomatoes out and place in a large bowl. Let tomatoes cool. Once cool, carefully peel off skins.
Core the tomatoes and place in a food processor or blender. Puree until smooth, or pulse until desired consistency is reached if you want a chunkier sauce. Set aside.
In a large pot, heat extra-virgin olive oil over medium-high heat. Add onions and garlic. Sauté until onions are translucent.
Add in dried basil, dried oregano, salt, and pepper. Stir for 30 seconds, just until fragrant. Pour in tomato puree and stir well.
Bring the mixture to a simmer and let cook for 2 hours, or until thickened and reduced. Add lemon juice if using. Taste and adjust seasoning as desired.
Take sauce off heat and cool down to room temperature. Pour into freezer friendly plastic containers and freezer!