Preheat oven to 425º F. Cut tomatoes in half lengthwise. Arrange tomatoes, cut-side up, on a large foil-lined rimmed baking sheet. Roast for about 40 to 50 minutes, until tomatoes are tender and somewhat shrunken; the skins may be charred in spots.
Use a food mill (fitted with disc with smallest holes) to puree the tomatoes, capturing the sauce in a large bowl or sauté pan, removing skin and seeds. Puree in multiple batches as needed. Discard the skin and seeds.
Transfer pureed tomatoes to a sauté pan and set over medium-low heat. Add the butter, onion, and salt to the pan. Bring to a slow simmer. Continue to simmer slowly, stirring occasionally, for approximately 30 to 45 minutes, or until sauce reaches desired thickness. Remove onion, refrigerate and save for another use. Taste the sauce for salt, add more to taste. Add a pinch of sugar if desired.
This recipe makes enough sauce for 2 pounds of lightly sauced pasta. Use half the sauce immediately for 1 pound of pasta; freeze the remaining sauce for another meal.