Heat olive oil in a saucepan over medium heat. Add onion and cook until translucent, about 5 minutes, stirring the garlic in during the last minute.
Add undrained tomatoes, basil, sugar, oregano, salt, and pepper; stir to combine as it comes to a boil. Continue to boil until most of the liquid evaporates, about 5 minutes.
Remove from the heat. Pour in cream and butter; stir to combine.
Return to the stove and simmer over low heat for 5 more minutes.
