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 pureed 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.