Heat oil in a large saucepan or dutch oven over medium heat. Add the onion and 1 tsp salt and cook until very soft, about 12 minutes.
Add garlic and cook until fragrant, about 2 minutes. Add beef and increase heat to high. Season with another 1/2 tsp salt and cook until well browned (it'll take a while).
Stir in tomato paste and cook, stirring frequently, until it darkens a shade and smells toasty, about 5 minutes.
Stir in tomatoes and bring to a simmer. Taste and add remaining salt to taste. Reduce heat to low and cook, covered, for 30 minutes or up to a few hours, stirring every now and then and keeping it at a bare simmer.
Notes
Pureed Tomatoes: I like to blend my diced tomatoes in the blender before adding them to the sauce to get that restaurant-style consistency. You could alternatively leave it chunky, or just use a jar of passata. Big Batch: This recipe makes enough meat sauce to serve with 2 lbs of dry pasta, which should be enough for two meals for most families.Make Ahead: This meat sauce can be made up to 3-4 days in advance. Store it in an airtight container in the fridge. Freezer-Friendly: This sauce freezes well, making it perfect for meal prep. Freeze in an airtight container for up to 3 months.