Heat oil in a large Dutch oven or large oven-safe saucepan over medium-low. Add onion and garlic; cook 20 minutes or until translucent and tender, stirring occasionally.
Preheat oven to 300°F. Bring a large pot of water to a boil. Working in batches, plunge tomatoes into water; blanch 15 seconds or until peels loosen at scored edges. Remove from water; drain. Remove peels; discard. Chop tomatoes.
Add tomatoes to onion mixture. Stir in sugar, salt, oregano, and soy sauce. Bring mixture to a simmer. Place in oven; bake, uncovered, at 300°F for 6 hours. Remove from oven. Stir in butter, lapping sauce around sides of pot to deglaze browned splatters. Stir in basil; let sauce stand 20 minutes.